@juun-roh/cesium-utils 0.3.9 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{c as l}from"./chunk-B3AVU53O.js";import{DataSourceCollection as d,defined as o,EntityCollection as h,ImageryLayerCollection as v,PrimitiveCollection as c}from"cesium";var r=class s{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:t}){this.tag=t||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof h)e=this.collection.values;else{e=[];for(let t=0;t<this.collection.length;t++)e.push(this.collection.get(t))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,t){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(t),this}removeEventListener(e,t){return this._eventListeners.get(e)?.delete(t),this}add(e,t=this.tag,i){return Array.isArray(e)?e.forEach(a=>{this.add(a,t)}):(Object.defineProperty(e,s.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,i),this._addToTagMap(e,t),this._invalidateCache(),this._emit("add",{items:[e],tag:t})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let t=this._tagMap.get(e);return!!t&&t.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let i of e)this.remove(i)}let t=this.get(e);if(t.length===0)return this;for(let i of t)this.remove(i);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let t=this._tagMap.get(e);return t?Array.from(t):[]}first(e){let t=this._tagMap.get(e);if(t&&t.size>0)return t.values().next().value}update(e,t){let i=this.get(e);for(let a of i)this._removeFromTagMap(a),Object.defineProperty(a,s.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(a,t);return i.length>0&&this._emit("update",{items:i,tag:t}),i.length}show(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!0);return this}hide(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!1);return this}toggle(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!i.show);return this}setProperty(e,t,i=this.tag){let a=this.get(i);for(let n of a)if(e in n&&typeof n[e]!="function"){if(l(n,e))throw Error(`Cannot set read-only property '${String(e)}' on ${n.constructor.name}`);n[e]=t}return this}filter(e,t){return(t?this.get(t):this.values).filter(e)}forEach(e,t){(t?this.get(t):this.values).forEach((a,n)=>e(a,n))}map(e,t){return(t?this.get(t):this.values).map(e)}find(e,t){return(t?this.get(t):this.values).find(e)}_emit(e,t){let i=this._eventListeners.get(e);if(i){let a={type:e,...t};i.forEach(n=>n(a))}}_addToTagMap(e,t){this._tagMap.has(t)||this._tagMap.set(t,new Set),this._tagMap.get(t)?.add(e)}_removeFromTagMap(e){let t=e[s.symbol],i=this._tagMap.get(t);i&&(i.delete(e),i.size===0&&this._tagMap.delete(t))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof h?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof c?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof d?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof v&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},m=r;export{m as a};
1
+ import{c as l}from"./chunk-ZXZ7TVB3.js";import{DataSourceCollection as d,defined as o,EntityCollection as h,ImageryLayerCollection as v,PrimitiveCollection as c}from"cesium";var r=class s{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:t}){this.tag=t||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof h)e=this.collection.values;else{e=[];for(let t=0;t<this.collection.length;t++)e.push(this.collection.get(t))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,t){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(t),this}removeEventListener(e,t){return this._eventListeners.get(e)?.delete(t),this}add(e,t=this.tag,i){return Array.isArray(e)?e.forEach(a=>{this.add(a,t)}):(Object.defineProperty(e,s.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,i),this._addToTagMap(e,t),this._invalidateCache(),this._emit("add",{items:[e],tag:t})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let t=this._tagMap.get(e);return!!t&&t.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let i of e)this.remove(i)}let t=this.get(e);if(t.length===0)return this;for(let i of t)this.remove(i);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let t=this._tagMap.get(e);return t?Array.from(t):[]}first(e){let t=this._tagMap.get(e);if(t&&t.size>0)return t.values().next().value}update(e,t){let i=this.get(e);for(let a of i)this._removeFromTagMap(a),Object.defineProperty(a,s.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(a,t);return i.length>0&&this._emit("update",{items:i,tag:t}),i.length}show(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!0);return this}hide(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!1);return this}toggle(e){let t=this.get(e);for(let i of t)o(i.show)&&(i.show=!i.show);return this}setProperty(e,t,i=this.tag){let a=this.get(i);for(let n of a)if(e in n&&typeof n[e]!="function"){if(l(n,e))throw Error(`Cannot set read-only property '${String(e)}' on ${n.constructor.name}`);n[e]=t}return this}filter(e,t){return(t?this.get(t):this.values).filter(e)}forEach(e,t){(t?this.get(t):this.values).forEach((a,n)=>e(a,n))}map(e,t){return(t?this.get(t):this.values).map(e)}find(e,t){return(t?this.get(t):this.values).find(e)}_emit(e,t){let i=this._eventListeners.get(e);if(i){let a={type:e,...t};i.forEach(n=>n(a))}}_addToTagMap(e,t){this._tagMap.has(t)||this._tagMap.set(t,new Set),this._tagMap.get(t)?.add(e)}_removeFromTagMap(e){let t=e[s.symbol],i=this._tagMap.get(t);i&&(i.delete(e),i.size===0&&this._tagMap.delete(t))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof h?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof c?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof d?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof v&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},m=r;export{m as a};
@@ -0,0 +1 @@
1
+ import{EllipsoidTerrainProvider as P}from"cesium";var o=class u{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new P,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,i){return this._defaultProvider.loadTileDataAvailability(e,r,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,i,n){if(this._ready){for(let t of this._regions)if(u.TerrainRegion.contains(t,e,r,i))return t.provider.requestTileGeometry(e,r,i,n);return this._defaultProvider.getTileDataAvailable(e,r,i)?this._defaultProvider.requestTileGeometry(e,r,i,n):this._fallbackProvider.requestTileGeometry(e,r,i,n)}}getTileDataAvailable(e,r,i){for(let n of this._regions)if(u.TerrainRegion.contains(n,e,r,i))return!0;return this._defaultProvider.getTileDataAvailable(e,r,i)}};(r=>{function u(i,n,t){return new r({regions:i.map(l=>({...l})),defaultProvider:n,fallbackProvider:t})}r.fromTileRanges=u;let e;(n=>{function i(t,l,d,s){if(t.levels&&!t.levels.includes(s))return!1;if(t.tiles){let a=t.tiles.get(s);if(!a)return!1;let[v,m]=Array.isArray(a.x)?a.x:[a.x,a.x],[b,f]=Array.isArray(a.y)?a.y:[a.y,a.y];return l>=v&&l<=m&&d>=b&&d<=f}return!1}n.contains=i})(e=r.TerrainRegion||={})})(o||={});var T=o;export{T as a};
@@ -0,0 +1 @@
1
+ import{a as b}from"./chunk-XHMLNB5Q.js";var _;(n=>{let o=new Set,r=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function e(a,v={}){if(!r)return;let{once:h=!0,prefix:y="[DEPRECATED]",includeStack:m=!0,removeInVersion:g}=v;if(h&&o.has(a))return;let u=`${y} ${a}`;g&&(u+=` This feature will be removed in ${g}.`),typeof console<"u"&&console.warn&&(m?(console.warn(u),console.trace("Deprecation stack trace:")):console.warn(u)),h&&o.add(a)}n.warn=e;function i(a,v,h={}){let y=((...m)=>(e(v,h),a(...m)));return Object.defineProperty(y,"name",{value:a.name,configurable:!0}),y}n.deprecate=i;function t(){o.clear()}n.clear=t;function d(){return o.size}n.getWarningCount=d;function c(a){return o.has(a)}n.hasShown=c})(_||={});var C=_;import{Color as l,TileCoordinatesImageryProvider as P}from"cesium";import{Color as p,GridImageryProvider as w}from"cesium";var s=class extends w{_terrainProvider;_colors;constructor(r){let{terrainProvider:e,colors:i,...t}=r;super(t),this._terrainProvider=e,this._colors=i}requestImage(r,e,i){for(let t of this._terrainProvider.regions)if(this._isInRegionOrUpsampled(t,r,e,i))return this._createCanvasElement(this._colors.get("custom")||p.RED);return this._terrainProvider.defaultProvider.getTileDataAvailable(r,e,i)?this._createCanvasElement(this._colors.get("default")||p.BLUE):this._createCanvasElement(this._colors.get("fallback")||p.GRAY)}_isInRegionOrUpsampled(r,e,i,t){let d=e,c=i,n=t;for(;n>=0;){if(b.TerrainRegion.contains(r,d,c,n))return!0;if(n===0)break;n--,d=Math.floor(d/2),c=Math.floor(c/2)}return!1}_createCanvasElement(r){let e=document.createElement("canvas");e.width=256,e.height=256;let i=e.getContext("2d"),t=r.withAlpha(.3).toCssColorString();if(!i)throw new Error("canvas context undefined");return i.fillStyle=t,i.fillRect(0,0,256,256),Promise.resolve(e)}};var f=class{_viewer;_terrainProvider;_visible=!1;_tileCoordinatesLayer;_hybridImageryLayer;_colors=new Map([["custom",l.RED],["default",l.BLUE],["fallback",l.GRAY],["grid",l.YELLOW]]);constructor(r,e){this._viewer=r,this._terrainProvider=e.terrainProvider,e.colors&&Object.entries(e.colors).forEach(([i,t])=>{this._colors.set(i,t)}),e.tile!==void 0&&e.tile&&this.show()}setTerrainProvider(r){this._terrainProvider=r,this.update()}update(){let r=this._visible,e=!!this._tileCoordinatesLayer,i=this._hybridImageryLayer?.alpha??.5;this.clear(),r&&this.show({showTileCoordinates:e,alpha:i})}clear(){this.hide()}show(r){if(!this._terrainProvider)return;let e=r?.showTileCoordinates??!0,i=r?.alpha??.5;e&&this._ensureTileCoordinatesLayer(),this.showImageryOverlay(i),this._visible=!0}_ensureTileCoordinatesLayer(){this._tileCoordinatesLayer||(this._tileCoordinatesLayer=this._viewer.imageryLayers.addImageryProvider(new P({tilingScheme:this._terrainProvider.tilingScheme,color:l.YELLOW})))}hide(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0),this.hideImageryOverlay(),this._visible=!1}setColors(r){Object.entries(r).forEach(([e,i])=>{this._colors.set(e,i)}),this.update()}showImageryOverlay(r=.5){this._hybridImageryLayer&&this._viewer.imageryLayers.remove(this._hybridImageryLayer);let e=new s({terrainProvider:this._terrainProvider,colors:this._colors,tilingScheme:this._terrainProvider.tilingScheme});this._hybridImageryLayer=this._viewer.imageryLayers.addImageryProvider(e),this._hybridImageryLayer.alpha=r,console.log("HybridImageryProvider overlay enabled")}hideImageryOverlay(){this._hybridImageryLayer&&(this._viewer.imageryLayers.remove(this._hybridImageryLayer),this._hybridImageryLayer=void 0,console.log("HybridImageryProvider overlay disabled"))}showTileCoordinates(){this._ensureTileCoordinatesLayer()}hideTileCoordinates(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0)}setAlpha(r){this._hybridImageryLayer&&(this._hybridImageryLayer.alpha=r)}flyTo(r,e){this._viewer.camera.flyTo({destination:r,...e,complete:()=>{this._visible&&this.update()}})}get tileCoordinatesVisible(){return!!this._tileCoordinatesLayer}get visible(){return this._visible}get viewer(){return this._viewer}get colors(){return this._colors}get terrainProvider(){return this._terrainProvider}};function L(o,r){let e=!1,i=Object.getOwnPropertyDescriptor(o,r);if(!i){let t=Object.getPrototypeOf(o);for(;t&&!i;)i=Object.getOwnPropertyDescriptor(t,r),t=Object.getPrototypeOf(t)}return i&&i.get&&!i.set&&(e=!0),e}var G=C.deprecate;export{C as a,f as b,L as c,G as d};
@@ -1 +1 @@
1
- "use strict";var y=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var M=(a,e)=>{for(var r in e)y(a,r,{get:e[r],enumerable:!0})},S=(a,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of w(e))!x.call(a,i)&&i!==r&&y(a,i,{get:()=>e[i],enumerable:!(t=E(e,i))||t.enumerable});return a};var A=a=>S(y({},"__esModule",{value:!0}),a);var R={};M(R,{Collection:()=>I});module.exports=A(R);var s=require("cesium");var _;(g=>{let a=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function r(l,o={}){if(!e)return;let{once:d=!0,prefix:h="[DEPRECATED]",includeStack:c=!0,removeInVersion:u}=o;if(d&&a.has(l))return;let f=`${h} ${l}`;u&&(f+=` This feature will be removed in ${u}.`),typeof console<"u"&&console.warn&&(c?(console.warn(f),console.trace("Deprecation stack trace:")):console.warn(f)),d&&a.add(l)}g.warn=r;function t(l,o,d={}){let h=((...c)=>(r(o,d),l(...c)));return Object.defineProperty(h,"name",{value:l.name,configurable:!0}),h}g.deprecate=t;function i(){a.clear()}g.clear=i;function n(){return a.size}g.getWarningCount=n;function v(l){return a.has(l)}g.hasShown=v})(_||={});var C=_;var L=require("cesium");var P=require("cesium");var T=require("cesium"),m=class a{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new T.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,t){return this._defaultProvider.loadTileDataAvailability(e,r,t)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,t,i){if(this._ready){for(let n of this._regions)if(a.TerrainRegion.contains(n,e,r,t))return n.provider.requestTileGeometry(e,r,t,i);return this._defaultProvider.getTileDataAvailable(e,r,t)?this._defaultProvider.requestTileGeometry(e,r,t,i):this._fallbackProvider.requestTileGeometry(e,r,t,i)}}getTileDataAvailable(e,r,t){for(let i of this._regions)if(a.TerrainRegion.contains(i,e,r,t)&&i.provider.getTileDataAvailable(e,r,t))return!0;return this._defaultProvider.getTileDataAvailable(e,r,t)}};(r=>{function a(t,i,n){return new r({regions:t.map(v=>({...v})),defaultProvider:i,fallbackProvider:n})}r.fromTileRanges=a;let e;(i=>{function t(n,v,g,l){if(n.levels&&!n.levels.includes(l))return!1;if(n.tiles){let o=n.tiles.get(l);if(!o)return!1;let[d,h]=Array.isArray(o.x)?o.x:[o.x,o.x],[c,u]=Array.isArray(o.y)?o.y:[o.y,o.y];return v>=d&&v<=h&&g>=c&&g<=u}return!1}i.contains=t})(e=r.TerrainRegion||={})})(m||={});function p(a,e){let r=!1,t=Object.getOwnPropertyDescriptor(a,e);if(!t){let i=Object.getPrototypeOf(a);for(;i&&!t;)t=Object.getOwnPropertyDescriptor(i,e),i=Object.getPrototypeOf(i)}return t&&t.get&&!t.set&&(r=!0),r}var X=C.deprecate;var b=class a{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:r}){this.tag=r||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof s.EntityCollection)e=this.collection.values;else{e=[];for(let r=0;r<this.collection.length;r++)e.push(this.collection.get(r))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,r){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(r),this}removeEventListener(e,r){return this._eventListeners.get(e)?.delete(r),this}add(e,r=this.tag,t){return Array.isArray(e)?e.forEach(i=>{this.add(i,r)}):(Object.defineProperty(e,a.symbol,{value:r,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,t),this._addToTagMap(e,r),this._invalidateCache(),this._emit("add",{items:[e],tag:r})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let r=this._tagMap.get(e);return!!r&&r.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let t of e)this.remove(t)}let r=this.get(e);if(r.length===0)return this;for(let t of r)this.remove(t);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let r=this._tagMap.get(e);return r?Array.from(r):[]}first(e){let r=this._tagMap.get(e);if(r&&r.size>0)return r.values().next().value}update(e,r){let t=this.get(e);for(let i of t)this._removeFromTagMap(i),Object.defineProperty(i,a.symbol,{value:r,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(i,r);return t.length>0&&this._emit("update",{items:t,tag:r}),t.length}show(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!0);return this}hide(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!1);return this}toggle(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!t.show);return this}setProperty(e,r,t=this.tag){let i=this.get(t);for(let n of i)if(e in n&&typeof n[e]!="function"){if(p(n,e))throw Error(`Cannot set read-only property '${String(e)}' on ${n.constructor.name}`);n[e]=r}return this}filter(e,r){return(r?this.get(r):this.values).filter(e)}forEach(e,r){(r?this.get(r):this.values).forEach((i,n)=>e(i,n))}map(e,r){return(r?this.get(r):this.values).map(e)}find(e,r){return(r?this.get(r):this.values).find(e)}_emit(e,r){let t=this._eventListeners.get(e);if(t){let i={type:e,...r};t.forEach(n=>n(i))}}_addToTagMap(e,r){this._tagMap.has(r)||this._tagMap.set(r,new Set),this._tagMap.get(r)?.add(e)}_removeFromTagMap(e){let r=e[a.symbol],t=this._tagMap.get(r);t&&(t.delete(e),t.size===0&&this._tagMap.delete(r))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof s.EntityCollection?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof s.PrimitiveCollection?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof s.DataSourceCollection?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof s.ImageryLayerCollection&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},I=b;
1
+ "use strict";var y=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var S=(a,e)=>{for(var r in e)y(a,r,{get:e[r],enumerable:!0})},M=(a,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of w(e))!x.call(a,i)&&i!==r&&y(a,i,{get:()=>e[i],enumerable:!(t=E(e,i))||t.enumerable});return a};var A=a=>M(y({},"__esModule",{value:!0}),a);var O={};S(O,{Collection:()=>I});module.exports=A(O);var s=require("cesium");var _;(g=>{let a=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function r(l,o={}){if(!e)return;let{once:d=!0,prefix:h="[DEPRECATED]",includeStack:c=!0,removeInVersion:u}=o;if(d&&a.has(l))return;let f=`${h} ${l}`;u&&(f+=` This feature will be removed in ${u}.`),typeof console<"u"&&console.warn&&(c?(console.warn(f),console.trace("Deprecation stack trace:")):console.warn(f)),d&&a.add(l)}g.warn=r;function t(l,o,d={}){let h=((...c)=>(r(o,d),l(...c)));return Object.defineProperty(h,"name",{value:l.name,configurable:!0}),h}g.deprecate=t;function i(){a.clear()}g.clear=i;function n(){return a.size}g.getWarningCount=n;function v(l){return a.has(l)}g.hasShown=v})(_||={});var C=_;var L=require("cesium");var P=require("cesium");var T=require("cesium"),m=class a{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new T.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,t){return this._defaultProvider.loadTileDataAvailability(e,r,t)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,t,i){if(this._ready){for(let n of this._regions)if(a.TerrainRegion.contains(n,e,r,t))return n.provider.requestTileGeometry(e,r,t,i);return this._defaultProvider.getTileDataAvailable(e,r,t)?this._defaultProvider.requestTileGeometry(e,r,t,i):this._fallbackProvider.requestTileGeometry(e,r,t,i)}}getTileDataAvailable(e,r,t){for(let i of this._regions)if(a.TerrainRegion.contains(i,e,r,t))return!0;return this._defaultProvider.getTileDataAvailable(e,r,t)}};(r=>{function a(t,i,n){return new r({regions:t.map(v=>({...v})),defaultProvider:i,fallbackProvider:n})}r.fromTileRanges=a;let e;(i=>{function t(n,v,g,l){if(n.levels&&!n.levels.includes(l))return!1;if(n.tiles){let o=n.tiles.get(l);if(!o)return!1;let[d,h]=Array.isArray(o.x)?o.x:[o.x,o.x],[c,u]=Array.isArray(o.y)?o.y:[o.y,o.y];return v>=d&&v<=h&&g>=c&&g<=u}return!1}i.contains=t})(e=r.TerrainRegion||={})})(m||={});function p(a,e){let r=!1,t=Object.getOwnPropertyDescriptor(a,e);if(!t){let i=Object.getPrototypeOf(a);for(;i&&!t;)t=Object.getOwnPropertyDescriptor(i,e),i=Object.getPrototypeOf(i)}return t&&t.get&&!t.set&&(r=!0),r}var X=C.deprecate;var b=class a{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:r}){this.tag=r||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof s.EntityCollection)e=this.collection.values;else{e=[];for(let r=0;r<this.collection.length;r++)e.push(this.collection.get(r))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,r){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(r),this}removeEventListener(e,r){return this._eventListeners.get(e)?.delete(r),this}add(e,r=this.tag,t){return Array.isArray(e)?e.forEach(i=>{this.add(i,r)}):(Object.defineProperty(e,a.symbol,{value:r,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,t),this._addToTagMap(e,r),this._invalidateCache(),this._emit("add",{items:[e],tag:r})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let r=this._tagMap.get(e);return!!r&&r.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let t of e)this.remove(t)}let r=this.get(e);if(r.length===0)return this;for(let t of r)this.remove(t);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let r=this._tagMap.get(e);return r?Array.from(r):[]}first(e){let r=this._tagMap.get(e);if(r&&r.size>0)return r.values().next().value}update(e,r){let t=this.get(e);for(let i of t)this._removeFromTagMap(i),Object.defineProperty(i,a.symbol,{value:r,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(i,r);return t.length>0&&this._emit("update",{items:t,tag:r}),t.length}show(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!0);return this}hide(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!1);return this}toggle(e){let r=this.get(e);for(let t of r)(0,s.defined)(t.show)&&(t.show=!t.show);return this}setProperty(e,r,t=this.tag){let i=this.get(t);for(let n of i)if(e in n&&typeof n[e]!="function"){if(p(n,e))throw Error(`Cannot set read-only property '${String(e)}' on ${n.constructor.name}`);n[e]=r}return this}filter(e,r){return(r?this.get(r):this.values).filter(e)}forEach(e,r){(r?this.get(r):this.values).forEach((i,n)=>e(i,n))}map(e,r){return(r?this.get(r):this.values).map(e)}find(e,r){return(r?this.get(r):this.values).find(e)}_emit(e,r){let t=this._eventListeners.get(e);if(t){let i={type:e,...r};t.forEach(n=>n(i))}}_addToTagMap(e,r){this._tagMap.has(r)||this._tagMap.set(r,new Set),this._tagMap.get(r)?.add(e)}_removeFromTagMap(e){let r=e[a.symbol],t=this._tagMap.get(r);t&&(t.delete(e),t.size===0&&this._tagMap.delete(r))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof s.EntityCollection?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof s.PrimitiveCollection?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof s.DataSourceCollection?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof s.ImageryLayerCollection&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},I=b;
@@ -1 +1 @@
1
- import{a}from"../chunk-WCOPDVHL.js";import"../chunk-B3AVU53O.js";import"../chunk-6ABRDFE5.js";export{a as Collection};
1
+ import{a}from"../chunk-VWM3HSEI.js";import"../chunk-ZXZ7TVB3.js";import"../chunk-XHMLNB5Q.js";export{a as Collection};
@@ -1 +1 @@
1
- "use strict";var _=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var E=(o,e)=>{for(var r in e)_(o,r,{get:e[r],enumerable:!0})},R=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of I(e))!O.call(o,t)&&t!==r&&_(o,t,{get:()=>e[t],enumerable:!(i=x(e,t))||i.enumerable});return o};var A=o=>R(_({},"__esModule",{value:!0}),o);var M={};E(M,{Deprecate:()=>P,TerrainVisualizer:()=>g,deprecate:()=>S,isGetterOnly:()=>L});module.exports=A(M);var C;(d=>{let o=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function r(l,s={}){if(!e)return;let{once:v=!0,prefix:c="[DEPRECATED]",includeStack:m=!0,removeInVersion:y}=s;if(v&&o.has(l))return;let p=`${c} ${l}`;y&&(p+=` This feature will be removed in ${y}.`),typeof console<"u"&&console.warn&&(m?(console.warn(p),console.trace("Deprecation stack trace:")):console.warn(p)),v&&o.add(l)}d.warn=r;function i(l,s,v={}){let c=((...m)=>(r(s,v),l(...m)));return Object.defineProperty(c,"name",{value:l.name,configurable:!0}),c}d.deprecate=i;function t(){o.clear()}d.clear=t;function a(){return o.size}d.getWarningCount=a;function n(l){return o.has(l)}d.hasShown=n})(C||={});var P=C;var u=require("cesium");var h=require("cesium");var w=require("cesium"),f=class o{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new w.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,i){return this._defaultProvider.loadTileDataAvailability(e,r,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,i,t){if(this._ready){for(let a of this._regions)if(o.TerrainRegion.contains(a,e,r,i))return a.provider.requestTileGeometry(e,r,i,t);return this._defaultProvider.getTileDataAvailable(e,r,i)?this._defaultProvider.requestTileGeometry(e,r,i,t):this._fallbackProvider.requestTileGeometry(e,r,i,t)}}getTileDataAvailable(e,r,i){for(let t of this._regions)if(o.TerrainRegion.contains(t,e,r,i)&&t.provider.getTileDataAvailable(e,r,i))return!0;return this._defaultProvider.getTileDataAvailable(e,r,i)}};(r=>{function o(i,t,a){return new r({regions:i.map(n=>({...n})),defaultProvider:t,fallbackProvider:a})}r.fromTileRanges=o;let e;(t=>{function i(a,n,d,l){if(a.levels&&!a.levels.includes(l))return!1;if(a.tiles){let s=a.tiles.get(l);if(!s)return!1;let[v,c]=Array.isArray(s.x)?s.x:[s.x,s.x],[m,y]=Array.isArray(s.y)?s.y:[s.y,s.y];return n>=v&&n<=c&&d>=m&&d<=y}return!1}t.contains=i})(e=r.TerrainRegion||={})})(f||={});var T=f;var b=class extends h.GridImageryProvider{_terrainProvider;_colors;constructor(e){let{terrainProvider:r,colors:i,...t}=e;super(t),this._terrainProvider=r,this._colors=i}requestImage(e,r,i){for(let t of this._terrainProvider.regions)if(this._isInRegion(t,e,r,i))return this._createCanvasElement(this._colors.get("custom")||h.Color.RED);return this._defaultProviderCoversArea(e,r,i)?this._createCanvasElement(this._colors.get("default")||h.Color.BLUE):this._createCanvasElement(this._colors.get("fallback")||h.Color.GRAY)}_isInRegion(e,r,i,t){if(T.TerrainRegion.contains(e,r,i,t))return!0;if(e.tiles){let a=r,n=i,d=t;for(;d>0;)if(d--,a=Math.floor(a/2),n=Math.floor(n/2),T.TerrainRegion.contains(e,a,n,d))return!0}return!1}_defaultProviderCoversArea(e,r,i){let t=e,a=r,n=i;for(;n>=0;){if(this._terrainProvider.defaultProvider.getTileDataAvailable(t,a,n))return!0;if(n===0)break;n--,t=Math.floor(t/2),a=Math.floor(a/2)}return!1}_createCanvasElement(e){let r=document.createElement("canvas");r.width=256,r.height=256;let i=r.getContext("2d"),t=e.withAlpha(.3).toCssColorString();if(!i)throw new Error("canvas context undefined");return i.fillStyle=t,i.fillRect(0,0,256,256),Promise.resolve(r)}};var g=class{_viewer;_terrainProvider;_visible=!1;_tileCoordinatesLayer;_hybridImageryLayer;_colors=new Map([["custom",u.Color.RED],["default",u.Color.BLUE],["fallback",u.Color.GRAY],["grid",u.Color.YELLOW]]);constructor(e,r){this._viewer=e,this._terrainProvider=r.terrainProvider,r.colors&&Object.entries(r.colors).forEach(([i,t])=>{this._colors.set(i,t)}),r.tile!==void 0&&r.tile&&this.show()}setTerrainProvider(e){this._terrainProvider=e,this.update()}update(){let e=this._visible,r=!!this._tileCoordinatesLayer,i=this._hybridImageryLayer?.alpha??.5;this.clear(),e&&this.show({showTileCoordinates:r,alpha:i})}clear(){this.hide()}show(e){if(!this._terrainProvider)return;let r=e?.showTileCoordinates??!0,i=e?.alpha??.5;r&&this._ensureTileCoordinatesLayer(),this.showImageryOverlay(i),this._visible=!0}_ensureTileCoordinatesLayer(){this._tileCoordinatesLayer||(this._tileCoordinatesLayer=this._viewer.imageryLayers.addImageryProvider(new u.TileCoordinatesImageryProvider({tilingScheme:this._terrainProvider.tilingScheme,color:u.Color.YELLOW})))}hide(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0),this.hideImageryOverlay(),this._visible=!1}setColors(e){Object.entries(e).forEach(([r,i])=>{this._colors.set(r,i)}),this.update()}showImageryOverlay(e=.5){this._hybridImageryLayer&&this._viewer.imageryLayers.remove(this._hybridImageryLayer);let r=new b({terrainProvider:this._terrainProvider,colors:this._colors,tilingScheme:this._terrainProvider.tilingScheme});this._hybridImageryLayer=this._viewer.imageryLayers.addImageryProvider(r),this._hybridImageryLayer.alpha=e,console.log("HybridImageryProvider overlay enabled")}hideImageryOverlay(){this._hybridImageryLayer&&(this._viewer.imageryLayers.remove(this._hybridImageryLayer),this._hybridImageryLayer=void 0,console.log("HybridImageryProvider overlay disabled"))}showTileCoordinates(){this._ensureTileCoordinatesLayer()}hideTileCoordinates(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0)}setAlpha(e){this._hybridImageryLayer&&(this._hybridImageryLayer.alpha=e)}flyTo(e,r){this._viewer.camera.flyTo({destination:e,...r,complete:()=>{this._visible&&this.update()}})}get tileCoordinatesVisible(){return!!this._tileCoordinatesLayer}get visible(){return this._visible}get viewer(){return this._viewer}get colors(){return this._colors}get terrainProvider(){return this._terrainProvider}};function L(o,e){let r=!1,i=Object.getOwnPropertyDescriptor(o,e);if(!i){let t=Object.getPrototypeOf(o);for(;t&&!i;)i=Object.getOwnPropertyDescriptor(t,e),t=Object.getPrototypeOf(t)}return i&&i.get&&!i.set&&(r=!0),r}var S=P.deprecate;
1
+ "use strict";var _=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var E=(o,e)=>{for(var r in e)_(o,r,{get:e[r],enumerable:!0})},R=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of I(e))!O.call(o,t)&&t!==r&&_(o,t,{get:()=>e[t],enumerable:!(i=x(e,t))||i.enumerable});return o};var A=o=>R(_({},"__esModule",{value:!0}),o);var M={};E(M,{Deprecate:()=>P,TerrainVisualizer:()=>g,deprecate:()=>S,isGetterOnly:()=>L});module.exports=A(M);var T;(d=>{let o=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function r(s,n={}){if(!e)return;let{once:v=!0,prefix:c="[DEPRECATED]",includeStack:m=!0,removeInVersion:b}=n;if(v&&o.has(s))return;let p=`${c} ${s}`;b&&(p+=` This feature will be removed in ${b}.`),typeof console<"u"&&console.warn&&(m?(console.warn(p),console.trace("Deprecation stack trace:")):console.warn(p)),v&&o.add(s)}d.warn=r;function i(s,n,v={}){let c=((...m)=>(r(n,v),s(...m)));return Object.defineProperty(c,"name",{value:s.name,configurable:!0}),c}d.deprecate=i;function t(){o.clear()}d.clear=t;function a(){return o.size}d.getWarningCount=a;function l(s){return o.has(s)}d.hasShown=l})(T||={});var P=T;var u=require("cesium");var h=require("cesium");var C=require("cesium"),y=class o{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new C.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,i){return this._defaultProvider.loadTileDataAvailability(e,r,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,i,t){if(this._ready){for(let a of this._regions)if(o.TerrainRegion.contains(a,e,r,i))return a.provider.requestTileGeometry(e,r,i,t);return this._defaultProvider.getTileDataAvailable(e,r,i)?this._defaultProvider.requestTileGeometry(e,r,i,t):this._fallbackProvider.requestTileGeometry(e,r,i,t)}}getTileDataAvailable(e,r,i){for(let t of this._regions)if(o.TerrainRegion.contains(t,e,r,i))return!0;return this._defaultProvider.getTileDataAvailable(e,r,i)}};(r=>{function o(i,t,a){return new r({regions:i.map(l=>({...l})),defaultProvider:t,fallbackProvider:a})}r.fromTileRanges=o;let e;(t=>{function i(a,l,d,s){if(a.levels&&!a.levels.includes(s))return!1;if(a.tiles){let n=a.tiles.get(s);if(!n)return!1;let[v,c]=Array.isArray(n.x)?n.x:[n.x,n.x],[m,b]=Array.isArray(n.y)?n.y:[n.y,n.y];return l>=v&&l<=c&&d>=m&&d<=b}return!1}t.contains=i})(e=r.TerrainRegion||={})})(y||={});var w=y;var f=class extends h.GridImageryProvider{_terrainProvider;_colors;constructor(e){let{terrainProvider:r,colors:i,...t}=e;super(t),this._terrainProvider=r,this._colors=i}requestImage(e,r,i){for(let t of this._terrainProvider.regions)if(this._isInRegionOrUpsampled(t,e,r,i))return this._createCanvasElement(this._colors.get("custom")||h.Color.RED);return this._terrainProvider.defaultProvider.getTileDataAvailable(e,r,i)?this._createCanvasElement(this._colors.get("default")||h.Color.BLUE):this._createCanvasElement(this._colors.get("fallback")||h.Color.GRAY)}_isInRegionOrUpsampled(e,r,i,t){let a=r,l=i,d=t;for(;d>=0;){if(w.TerrainRegion.contains(e,a,l,d))return!0;if(d===0)break;d--,a=Math.floor(a/2),l=Math.floor(l/2)}return!1}_createCanvasElement(e){let r=document.createElement("canvas");r.width=256,r.height=256;let i=r.getContext("2d"),t=e.withAlpha(.3).toCssColorString();if(!i)throw new Error("canvas context undefined");return i.fillStyle=t,i.fillRect(0,0,256,256),Promise.resolve(r)}};var g=class{_viewer;_terrainProvider;_visible=!1;_tileCoordinatesLayer;_hybridImageryLayer;_colors=new Map([["custom",u.Color.RED],["default",u.Color.BLUE],["fallback",u.Color.GRAY],["grid",u.Color.YELLOW]]);constructor(e,r){this._viewer=e,this._terrainProvider=r.terrainProvider,r.colors&&Object.entries(r.colors).forEach(([i,t])=>{this._colors.set(i,t)}),r.tile!==void 0&&r.tile&&this.show()}setTerrainProvider(e){this._terrainProvider=e,this.update()}update(){let e=this._visible,r=!!this._tileCoordinatesLayer,i=this._hybridImageryLayer?.alpha??.5;this.clear(),e&&this.show({showTileCoordinates:r,alpha:i})}clear(){this.hide()}show(e){if(!this._terrainProvider)return;let r=e?.showTileCoordinates??!0,i=e?.alpha??.5;r&&this._ensureTileCoordinatesLayer(),this.showImageryOverlay(i),this._visible=!0}_ensureTileCoordinatesLayer(){this._tileCoordinatesLayer||(this._tileCoordinatesLayer=this._viewer.imageryLayers.addImageryProvider(new u.TileCoordinatesImageryProvider({tilingScheme:this._terrainProvider.tilingScheme,color:u.Color.YELLOW})))}hide(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0),this.hideImageryOverlay(),this._visible=!1}setColors(e){Object.entries(e).forEach(([r,i])=>{this._colors.set(r,i)}),this.update()}showImageryOverlay(e=.5){this._hybridImageryLayer&&this._viewer.imageryLayers.remove(this._hybridImageryLayer);let r=new f({terrainProvider:this._terrainProvider,colors:this._colors,tilingScheme:this._terrainProvider.tilingScheme});this._hybridImageryLayer=this._viewer.imageryLayers.addImageryProvider(r),this._hybridImageryLayer.alpha=e,console.log("HybridImageryProvider overlay enabled")}hideImageryOverlay(){this._hybridImageryLayer&&(this._viewer.imageryLayers.remove(this._hybridImageryLayer),this._hybridImageryLayer=void 0,console.log("HybridImageryProvider overlay disabled"))}showTileCoordinates(){this._ensureTileCoordinatesLayer()}hideTileCoordinates(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0)}setAlpha(e){this._hybridImageryLayer&&(this._hybridImageryLayer.alpha=e)}flyTo(e,r){this._viewer.camera.flyTo({destination:e,...r,complete:()=>{this._visible&&this.update()}})}get tileCoordinatesVisible(){return!!this._tileCoordinatesLayer}get visible(){return this._visible}get viewer(){return this._viewer}get colors(){return this._colors}get terrainProvider(){return this._terrainProvider}};function L(o,e){let r=!1,i=Object.getOwnPropertyDescriptor(o,e);if(!i){let t=Object.getPrototypeOf(o);for(;t&&!i;)i=Object.getOwnPropertyDescriptor(t,e),t=Object.getPrototypeOf(t)}return i&&i.get&&!i.set&&(r=!0),r}var S=P.deprecate;
@@ -1,5 +1,5 @@
1
1
  import { Viewer, Color, Rectangle } from 'cesium';
2
- import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-CVTrsFR5.cjs';
2
+ import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-Th8n2hZ1.cjs';
3
3
  export { N as NonFunction, i as isGetterOnly } from '../type-check-B-zGL1Ne.cjs';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { Viewer, Color, Rectangle } from 'cesium';
2
- import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-CVTrsFR5.js';
2
+ import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-Th8n2hZ1.js';
3
3
  export { N as NonFunction, i as isGetterOnly } from '../type-check-B-zGL1Ne.js';
4
4
 
5
5
  /**
package/dist/dev/index.js CHANGED
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-B3AVU53O.js";import"../chunk-6ABRDFE5.js";export{a as Deprecate,b as TerrainVisualizer,d as deprecate,c as isGetterOnly};
1
+ import{a,b,c,d}from"../chunk-ZXZ7TVB3.js";import"../chunk-XHMLNB5Q.js";export{a as Deprecate,b as TerrainVisualizer,d as deprecate,c as isGetterOnly};
@@ -105,7 +105,7 @@ declare class HybridTerrainProvider implements TerrainProvider {
105
105
  * @param request The request.
106
106
  * @returns A promise for the requested terrain.
107
107
  */
108
- requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise<Awaited<TerrainData>> | undefined;
108
+ requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise<TerrainData> | undefined;
109
109
  /**
110
110
  * Determines whether data for a tile is available to be loaded. Checks the specified terrain regions first.
111
111
  * @param x - The X coordinate of the tile for which to request geometry.
@@ -105,7 +105,7 @@ declare class HybridTerrainProvider implements TerrainProvider {
105
105
  * @param request The request.
106
106
  * @returns A promise for the requested terrain.
107
107
  */
108
- requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise<Awaited<TerrainData>> | undefined;
108
+ requestTileGeometry(x: number, y: number, level: number, request?: Request): Promise<TerrainData> | undefined;
109
109
  /**
110
110
  * Determines whether data for a tile is available to be loaded. Checks the specified terrain regions first.
111
111
  * @param x - The X coordinate of the tile for which to request geometry.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var t in e)w(r,t,{get:e[t],enumerable:!0})},W=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of j(e))!F.call(r,n)&&n!==t&&w(r,n,{get:()=>e[n],enumerable:!(i=V(e,n))||i.enumerable});return r};var q=r=>W(w({},"__esModule",{value:!0}),r);var N={};B(N,{Collection:()=>O,Highlight:()=>I,HybridTerrainProvider:()=>T,SilhouetteHighlight:()=>v,SurfaceHighlight:()=>f,cloneViewer:()=>H,syncCamera:()=>C});module.exports=q(N);var m=require("cesium");var A;(u=>{let r=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function t(s,d={}){if(!e)return;let{once:g=!0,prefix:p="[DEPRECATED]",includeStack:y=!0,removeInVersion:b}=d;if(g&&r.has(s))return;let P=`${p} ${s}`;b&&(P+=` This feature will be removed in ${b}.`),typeof console<"u"&&console.warn&&(y?(console.warn(P),console.trace("Deprecation stack trace:")):console.warn(P)),g&&r.add(s)}u.warn=t;function i(s,d,g={}){let p=((...y)=>(t(d,g),s(...y)));return Object.defineProperty(p,"name",{value:s.name,configurable:!0}),p}u.deprecate=i;function n(){r.clear()}u.clear=n;function a(){return r.size}u.getWarningCount=a;function c(s){return r.has(s)}u.hasShown=c})(A||={});var R=A;var G=require("cesium");var D=require("cesium");var M=require("cesium"),_=class r{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new M.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,t,i){return this._defaultProvider.loadTileDataAvailability(e,t,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,t,i,n){if(this._ready){for(let a of this._regions)if(r.TerrainRegion.contains(a,e,t,i))return a.provider.requestTileGeometry(e,t,i,n);return this._defaultProvider.getTileDataAvailable(e,t,i)?this._defaultProvider.requestTileGeometry(e,t,i,n):this._fallbackProvider.requestTileGeometry(e,t,i,n)}}getTileDataAvailable(e,t,i){for(let n of this._regions)if(r.TerrainRegion.contains(n,e,t,i)&&n.provider.getTileDataAvailable(e,t,i))return!0;return this._defaultProvider.getTileDataAvailable(e,t,i)}};(t=>{function r(i,n,a){return new t({regions:i.map(c=>({...c})),defaultProvider:n,fallbackProvider:a})}t.fromTileRanges=r;let e;(n=>{function i(a,c,u,s){if(a.levels&&!a.levels.includes(s))return!1;if(a.tiles){let d=a.tiles.get(s);if(!d)return!1;let[g,p]=Array.isArray(d.x)?d.x:[d.x,d.x],[y,b]=Array.isArray(d.y)?d.y:[d.y,d.y];return c>=g&&c<=p&&u>=y&&u<=b}return!1}n.contains=i})(e=t.TerrainRegion||={})})(_||={});var T=_;function E(r,e){let t=!1,i=Object.getOwnPropertyDescriptor(r,e);if(!i){let n=Object.getPrototypeOf(r);for(;n&&!i;)i=Object.getOwnPropertyDescriptor(n,e),n=Object.getPrototypeOf(n)}return i&&i.get&&!i.set&&(t=!0),t}var se=R.deprecate;var L=class r{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:t}){this.tag=t||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof m.EntityCollection)e=this.collection.values;else{e=[];for(let t=0;t<this.collection.length;t++)e.push(this.collection.get(t))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,t){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(t),this}removeEventListener(e,t){return this._eventListeners.get(e)?.delete(t),this}add(e,t=this.tag,i){return Array.isArray(e)?e.forEach(n=>{this.add(n,t)}):(Object.defineProperty(e,r.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,i),this._addToTagMap(e,t),this._invalidateCache(),this._emit("add",{items:[e],tag:t})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let t=this._tagMap.get(e);return!!t&&t.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let i of e)this.remove(i)}let t=this.get(e);if(t.length===0)return this;for(let i of t)this.remove(i);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let t=this._tagMap.get(e);return t?Array.from(t):[]}first(e){let t=this._tagMap.get(e);if(t&&t.size>0)return t.values().next().value}update(e,t){let i=this.get(e);for(let n of i)this._removeFromTagMap(n),Object.defineProperty(n,r.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(n,t);return i.length>0&&this._emit("update",{items:i,tag:t}),i.length}show(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!0);return this}hide(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!1);return this}toggle(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!i.show);return this}setProperty(e,t,i=this.tag){let n=this.get(i);for(let a of n)if(e in a&&typeof a[e]!="function"){if(E(a,e))throw Error(`Cannot set read-only property '${String(e)}' on ${a.constructor.name}`);a[e]=t}return this}filter(e,t){return(t?this.get(t):this.values).filter(e)}forEach(e,t){(t?this.get(t):this.values).forEach((n,a)=>e(n,a))}map(e,t){return(t?this.get(t):this.values).map(e)}find(e,t){return(t?this.get(t):this.values).find(e)}_emit(e,t){let i=this._eventListeners.get(e);if(i){let n={type:e,...t};i.forEach(a=>a(n))}}_addToTagMap(e,t){this._tagMap.has(t)||this._tagMap.set(t,new Set),this._tagMap.get(t)?.add(e)}_removeFromTagMap(e){let t=e[r.symbol],i=this._tagMap.get(t);i&&(i.delete(e),i.size===0&&this._tagMap.delete(t))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof m.EntityCollection?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof m.PrimitiveCollection?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof m.DataSourceCollection?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof m.ImageryLayerCollection&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},O=L;var h=require("cesium");var l=require("cesium"),v=class{_color=l.Color.RED;_silhouette;_composite;_stages;_entity;_currentObject;_currentOptions;constructor(e){this._stages=e.scene.postProcessStages,this._silhouette=l.PostProcessStageLibrary.createEdgeDetectionStage(),this._silhouette.uniforms.color=this._color,this._silhouette.uniforms.length=.01,this._silhouette.selected=[],this._composite=l.PostProcessStageLibrary.createSilhouetteStage([this._silhouette]),this._stages.add(this._composite)}get color(){return this._color}set color(e){this._color=e}get currentObject(){return this._currentObject}show(e,t){if((0,l.defined)(e)&&!(this._currentObject===e&&this._optionsEqual(this._currentOptions,t))){this._clearHighlights();try{if(e instanceof l.Cesium3DTileFeature)this._silhouette.uniforms.color=t?.color||this._color,this._silhouette.selected.push(e);else{if(!e.model)return;this._entity=e,e.model.silhouetteSize=new l.ConstantProperty(t?.width||2),e.model.silhouetteColor=new l.ConstantProperty(t?.color||this._color)}this._currentObject=e,this._currentOptions=t?{...t}:void 0}catch(i){console.error("Failed to highlight object:",i),this._currentObject=void 0,this._currentOptions=void 0}}}hide(){this._clearHighlights(),this._currentObject=void 0,this._currentOptions=void 0}destroy(){this.hide(),this._composite&&this._stages.remove(this._composite),this._currentObject=void 0,this._currentOptions=void 0}_optionsEqual(e,t){return!e&&!t?!0:!e||!t?!1:e.outline===t.outline&&e.width===t.width&&l.Color.equals(e.color||this._color,t.color||this._color)}_clearHighlights(){this._silhouette.selected.length>0&&(this._silhouette.selected=[]),this._entity?.model&&(this._entity.model.silhouetteColor=new l.ConstantProperty(l.Color.TRANSPARENT),this._entity.model.silhouetteSize=new l.ConstantProperty(0),this._entity=void 0)}};var o=require("cesium"),f=class{_color=o.Color.RED;_entity;_entities;_currentObject;_currentOptions;constructor(e){this._entities=e.entities,this._entity=this._entities.add(new o.Entity({id:`highlight-entity-${Math.random().toString(36).substring(2)}`,show:!1}))}get color(){return this._color}set color(e){this._color=e}get entity(){return this._entity}get currentObject(){return this._currentObject}show(e,t){if(!(!(0,o.defined)(e)||!this._entity)){if(this._currentObject===e&&this._optionsEqual(this._currentOptions,t))return this._entity;this._clearGeometries();try{if(e instanceof o.Entity&&(e.polygon||e.polyline||e.rectangle))this._update(e,t);else if(e instanceof o.GroundPrimitive)this._update(e,t);else{this._currentObject=void 0,this._currentOptions=void 0;return}return this._currentObject=e,this._currentOptions=t?{...t}:void 0,this._entity.show=!0,this._entity}catch(i){console.error("Failed to highlight object:",i),this._currentObject=void 0,this._currentOptions=void 0;return}}}hide(){this._entity&&(this._entity.show=!1),this._currentObject=void 0,this._currentOptions=void 0}destroy(){this._entities.contains(this._entity)&&this._entities.remove(this._entity),this._currentObject=void 0,this._currentOptions=void 0}_optionsEqual(e,t){return!e&&!t?!0:!e||!t?!1:e.outline===t.outline&&e.width===t.width&&o.Color.equals(e.color||this._color,t.color||this._color)}_clearGeometries(){this._entity.polygon=void 0,this._entity.polyline=void 0,this._entity.rectangle=void 0}_update(e,t={color:this._color,outline:!1,width:2}){if(e instanceof o.Entity){if(e.polygon)if(t.outline){let i=e.polygon.hierarchy?.getValue();if(i&&i.positions){let n;i.positions.length>0&&!o.Cartesian3.equals(i.positions[0],i.positions[i.positions.length-1])?n=[...i.positions,i.positions[0]]:n=i.positions,this._entity.polyline=new o.PolylineGraphics({positions:n,material:t.color,width:t.width||2,clampToGround:!0})}}else{let i=e.polygon.hierarchy?.getValue();i&&(this._entity.polygon=new o.PolygonGraphics({hierarchy:i,material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND,classificationType:e.polygon.classificationType?.getValue()||o.ClassificationType.BOTH}))}else if(e.polyline){let i=e.polyline.positions?.getValue();if(i){let n=e.polyline.width?.getValue();this._entity.polyline=new o.PolylineGraphics({positions:i,material:t.color,width:n+(t.width||2),clampToGround:!0})}}else if(e.rectangle)if(t.outline){let i=e.rectangle.coordinates?.getValue();if(i){let n=[o.Cartesian3.fromRadians(i.west,i.north),o.Cartesian3.fromRadians(i.east,i.north),o.Cartesian3.fromRadians(i.east,i.south),o.Cartesian3.fromRadians(i.west,i.south),o.Cartesian3.fromRadians(i.west,i.north)];this._entity.polyline=new o.PolylineGraphics({positions:n,material:t.color,width:t.width||2,clampToGround:!0})}}else{let i=e.rectangle.coordinates?.getValue();i&&(this._entity.rectangle=new o.RectangleGraphics({coordinates:i,material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND}))}}else if(e instanceof o.GroundPrimitive){let i=e.geometryInstances,n=Array.isArray(i)?i[0]:i;if(!n.geometry.attributes.position)return;let a=n.geometry.attributes.position.values,c=[];for(let u=0;u<a.length;u+=3)c.push(new o.Cartesian3(a[u],a[u+1],a[u+2]));t.outline?this._entity.polyline=new o.PolylineGraphics({positions:c,material:t.color,width:t.width||2,clampToGround:!0}):this._entity.polygon=new o.PolygonGraphics({hierarchy:new o.PolygonHierarchy(c),material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND,classificationType:o.ClassificationType.BOTH})}}};var x=class r{static instances=new WeakMap;_surface;_silhouette;_color=h.Color.RED;constructor(e){this._surface=new f(e),this._silhouette=new v(e),this._surface.color=this._color,this._silhouette.color=this._color}get color(){return this._color}set color(e){this._color=e,this._surface.color=e,this._silhouette.color=e}static getInstance(e){let t=e.container;return r.instances.has(t)||r.instances.set(t,new r(e)),r.instances.get(t)}static releaseInstance(e){let t=e.container,i=r.instances.get(t);i&&(i.hide(),i._surface&&i._surface.destroy(),i._silhouette&&i._silhouette.destroy(),r.instances.delete(t))}show(e,t={color:this._color}){let i=this._getObject(e);if((0,h.defined)(i))return i instanceof h.Cesium3DTileFeature?this._silhouette.show(i,t):i instanceof h.Entity&&i.model?this._silhouette.show(i,t):this._surface.show(i,t)}_getObject(e){if((0,h.defined)(e)){if(e instanceof h.Entity||e instanceof h.Cesium3DTileFeature||e instanceof h.GroundPrimitive)return e;if(e.id instanceof h.Entity)return e.id;if(e.primitive instanceof h.GroundPrimitive)return e.primitive}}hide(){this._surface.hide(),this._silhouette.hide()}},I=x;var k=require("cesium");var S=require("cesium");function C(r,e){if((0,S.defined)(r)&&(0,S.defined)(e)){let{camera:t}=r;e.camera.position=t.positionWC.clone(),e.camera.direction=t.directionWC.clone(),e.camera.up=t.upWC.clone()}}function H(r,e,t){let i={baseLayerPicker:r.baseLayerPicker!==void 0,geocoder:r.geocoder!==void 0,homeButton:r.homeButton!==void 0,sceneModePicker:r.sceneModePicker!==void 0,timeline:r.timeline!==void 0,navigationHelpButton:r.navigationHelpButton!==void 0,animation:r.animation!==void 0,fullscreenButton:r.fullscreenButton!==void 0,shouldAnimate:r.clock.shouldAnimate,terrainProvider:r.terrainProvider,requestRenderMode:r.scene.requestRenderMode,infoBox:r.infoBox!==void 0},n=new k.Viewer(e,{...i,...t});C(r,n);let a=r.imageryLayers;n.imageryLayers.removeAll();for(let s=0;s<a.length;s++){let d=a.get(s);n.imageryLayers.addImageryProvider(d.imageryProvider,s)}n.clock.startTime=r.clock.startTime.clone(),n.clock.stopTime=r.clock.stopTime.clone(),n.clock.currentTime=r.clock.currentTime.clone(),n.clock.multiplier=r.clock.multiplier,n.clock.clockStep=r.clock.clockStep,n.clock.clockRange=r.clock.clockRange,n.clock.shouldAnimate=r.clock.shouldAnimate,n.scene.globe.enableLighting=r.scene.globe.enableLighting,n.scene.globe.depthTestAgainstTerrain=r.scene.globe.depthTestAgainstTerrain,n.scene.screenSpaceCameraController.enableCollisionDetection=r.scene.screenSpaceCameraController.enableCollisionDetection;let c=r.scene.screenSpaceCameraController.tiltEventTypes;c&&(n.scene.screenSpaceCameraController.tiltEventTypes=Array.isArray(c)?[...c]:c);let u=r.scene.screenSpaceCameraController.zoomEventTypes;return u&&(n.scene.screenSpaceCameraController.zoomEventTypes=Array.isArray(u)?[...u]:u),n}
1
+ "use strict";var w=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var B=(r,e)=>{for(var t in e)w(r,t,{get:e[t],enumerable:!0})},W=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of j(e))!F.call(r,n)&&n!==t&&w(r,n,{get:()=>e[n],enumerable:!(i=V(e,n))||i.enumerable});return r};var q=r=>W(w({},"__esModule",{value:!0}),r);var N={};B(N,{Collection:()=>L,Highlight:()=>I,HybridTerrainProvider:()=>T,SilhouetteHighlight:()=>v,SurfaceHighlight:()=>g,cloneViewer:()=>H,syncCamera:()=>C});module.exports=q(N);var m=require("cesium");var R;(u=>{let r=new Set,e=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function t(s,d={}){if(!e)return;let{once:f=!0,prefix:p="[DEPRECATED]",includeStack:y=!0,removeInVersion:b}=d;if(f&&r.has(s))return;let P=`${p} ${s}`;b&&(P+=` This feature will be removed in ${b}.`),typeof console<"u"&&console.warn&&(y?(console.warn(P),console.trace("Deprecation stack trace:")):console.warn(P)),f&&r.add(s)}u.warn=t;function i(s,d,f={}){let p=((...y)=>(t(d,f),s(...y)));return Object.defineProperty(p,"name",{value:s.name,configurable:!0}),p}u.deprecate=i;function n(){r.clear()}u.clear=n;function a(){return r.size}u.getWarningCount=a;function c(s){return r.has(s)}u.hasShown=c})(R||={});var A=R;var G=require("cesium");var D=require("cesium");var M=require("cesium"),_=class r{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new M.EllipsoidTerrainProvider,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,t,i){return this._defaultProvider.loadTileDataAvailability(e,t,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,t,i,n){if(this._ready){for(let a of this._regions)if(r.TerrainRegion.contains(a,e,t,i))return a.provider.requestTileGeometry(e,t,i,n);return this._defaultProvider.getTileDataAvailable(e,t,i)?this._defaultProvider.requestTileGeometry(e,t,i,n):this._fallbackProvider.requestTileGeometry(e,t,i,n)}}getTileDataAvailable(e,t,i){for(let n of this._regions)if(r.TerrainRegion.contains(n,e,t,i))return!0;return this._defaultProvider.getTileDataAvailable(e,t,i)}};(t=>{function r(i,n,a){return new t({regions:i.map(c=>({...c})),defaultProvider:n,fallbackProvider:a})}t.fromTileRanges=r;let e;(n=>{function i(a,c,u,s){if(a.levels&&!a.levels.includes(s))return!1;if(a.tiles){let d=a.tiles.get(s);if(!d)return!1;let[f,p]=Array.isArray(d.x)?d.x:[d.x,d.x],[y,b]=Array.isArray(d.y)?d.y:[d.y,d.y];return c>=f&&c<=p&&u>=y&&u<=b}return!1}n.contains=i})(e=t.TerrainRegion||={})})(_||={});var T=_;function E(r,e){let t=!1,i=Object.getOwnPropertyDescriptor(r,e);if(!i){let n=Object.getPrototypeOf(r);for(;n&&!i;)i=Object.getOwnPropertyDescriptor(n,e),n=Object.getPrototypeOf(n)}return i&&i.get&&!i.set&&(t=!0),t}var se=A.deprecate;var O=class r{static symbol=Symbol("cesium-item-tag");tag;collection;_valuesCache=null;_tagMap=new Map;_eventListeners=new Map;_eventCleanupFunctions=[];constructor({collection:e,tag:t}){this.tag=t||"default",this.collection=e,this._setupCacheInvalidator(e)}[Symbol.iterator](){return this.values[Symbol.iterator]()}get values(){if(this._valuesCache!==null)return this._valuesCache;let e;if(this.collection instanceof m.EntityCollection)e=this.collection.values;else{e=[];for(let t=0;t<this.collection.length;t++)e.push(this.collection.get(t))}return this._valuesCache=e,e}get length(){return this.values?.length||0}get tags(){return Array.from(this._tagMap.keys())}addEventListener(e,t){return this._eventListeners.has(e)||this._eventListeners.set(e,new Set),this._eventListeners.get(e)?.add(t),this}removeEventListener(e,t){return this._eventListeners.get(e)?.delete(t),this}add(e,t=this.tag,i){return Array.isArray(e)?e.forEach(n=>{this.add(n,t)}):(Object.defineProperty(e,r.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this.collection.add(e,i),this._addToTagMap(e,t),this._invalidateCache(),this._emit("add",{items:[e],tag:t})),this}contains(e){if(typeof e=="object")return this.collection.contains(e);let t=this._tagMap.get(e);return!!t&&t.size>0}remove(e){if(typeof e=="object"&&!Array.isArray(e)&&this.collection.remove(e)&&(this._removeFromTagMap(e),this._invalidateCache(),this._emit("remove",{items:[e]})),Array.isArray(e)){if(e.length===0)return this;for(let i of e)this.remove(i)}let t=this.get(e);if(t.length===0)return this;for(let i of t)this.remove(i);return this}removeAll(){this._tagMap.clear(),this.collection.removeAll(),this._invalidateCache(),this._emit("clear")}destroy(){this._eventCleanupFunctions.forEach(e=>e()),this._eventCleanupFunctions=[],this._tagMap.clear(),this._eventListeners.clear(),this._valuesCache=null}get(e){let t=this._tagMap.get(e);return t?Array.from(t):[]}first(e){let t=this._tagMap.get(e);if(t&&t.size>0)return t.values().next().value}update(e,t){let i=this.get(e);for(let n of i)this._removeFromTagMap(n),Object.defineProperty(n,r.symbol,{value:t,enumerable:!1,writable:!0,configurable:!0}),this._addToTagMap(n,t);return i.length>0&&this._emit("update",{items:i,tag:t}),i.length}show(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!0);return this}hide(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!1);return this}toggle(e){let t=this.get(e);for(let i of t)(0,m.defined)(i.show)&&(i.show=!i.show);return this}setProperty(e,t,i=this.tag){let n=this.get(i);for(let a of n)if(e in a&&typeof a[e]!="function"){if(E(a,e))throw Error(`Cannot set read-only property '${String(e)}' on ${a.constructor.name}`);a[e]=t}return this}filter(e,t){return(t?this.get(t):this.values).filter(e)}forEach(e,t){(t?this.get(t):this.values).forEach((n,a)=>e(n,a))}map(e,t){return(t?this.get(t):this.values).map(e)}find(e,t){return(t?this.get(t):this.values).find(e)}_emit(e,t){let i=this._eventListeners.get(e);if(i){let n={type:e,...t};i.forEach(a=>a(n))}}_addToTagMap(e,t){this._tagMap.has(t)||this._tagMap.set(t,new Set),this._tagMap.get(t)?.add(e)}_removeFromTagMap(e){let t=e[r.symbol],i=this._tagMap.get(t);i&&(i.delete(e),i.size===0&&this._tagMap.delete(t))}_invalidateCache=()=>{this._valuesCache=null};_setupCacheInvalidator(e){e instanceof m.EntityCollection?(e.collectionChanged.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.collectionChanged.removeEventListener(this._invalidateCache))):e instanceof m.PrimitiveCollection?(e.primitiveAdded.addEventListener(this._invalidateCache),e.primitiveRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.primitiveAdded.removeEventListener(this._invalidateCache),()=>e.primitiveRemoved.removeEventListener(this._invalidateCache))):e instanceof m.DataSourceCollection?(e.dataSourceAdded.addEventListener(this._invalidateCache),e.dataSourceMoved.addEventListener(this._invalidateCache),e.dataSourceRemoved.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.dataSourceAdded.removeEventListener(this._invalidateCache),()=>e.dataSourceMoved.removeEventListener(this._invalidateCache),()=>e.dataSourceRemoved.removeEventListener(this._invalidateCache))):e instanceof m.ImageryLayerCollection&&(e.layerAdded.addEventListener(this._invalidateCache),e.layerMoved.addEventListener(this._invalidateCache),e.layerRemoved.addEventListener(this._invalidateCache),e.layerShownOrHidden.addEventListener(this._invalidateCache),this._eventCleanupFunctions.push(()=>e.layerAdded.removeEventListener(this._invalidateCache),()=>e.layerMoved.removeEventListener(this._invalidateCache),()=>e.layerRemoved.removeEventListener(this._invalidateCache),()=>e.layerShownOrHidden.removeEventListener(this._invalidateCache)))}},L=O;var h=require("cesium");var l=require("cesium"),v=class{_color=l.Color.RED;_silhouette;_composite;_stages;_entity;_currentObject;_currentOptions;constructor(e){this._stages=e.scene.postProcessStages,this._silhouette=l.PostProcessStageLibrary.createEdgeDetectionStage(),this._silhouette.uniforms.color=this._color,this._silhouette.uniforms.length=.01,this._silhouette.selected=[],this._composite=l.PostProcessStageLibrary.createSilhouetteStage([this._silhouette]),this._stages.add(this._composite)}get color(){return this._color}set color(e){this._color=e}get currentObject(){return this._currentObject}show(e,t){if((0,l.defined)(e)&&!(this._currentObject===e&&this._optionsEqual(this._currentOptions,t))){this._clearHighlights();try{if(e instanceof l.Cesium3DTileFeature)this._silhouette.uniforms.color=t?.color||this._color,this._silhouette.selected.push(e);else{if(!e.model)return;this._entity=e,e.model.silhouetteSize=new l.ConstantProperty(t?.width||2),e.model.silhouetteColor=new l.ConstantProperty(t?.color||this._color)}this._currentObject=e,this._currentOptions=t?{...t}:void 0}catch(i){console.error("Failed to highlight object:",i),this._currentObject=void 0,this._currentOptions=void 0}}}hide(){this._clearHighlights(),this._currentObject=void 0,this._currentOptions=void 0}destroy(){this.hide(),this._composite&&this._stages.remove(this._composite),this._currentObject=void 0,this._currentOptions=void 0}_optionsEqual(e,t){return!e&&!t?!0:!e||!t?!1:e.outline===t.outline&&e.width===t.width&&l.Color.equals(e.color||this._color,t.color||this._color)}_clearHighlights(){this._silhouette.selected.length>0&&(this._silhouette.selected=[]),this._entity?.model&&(this._entity.model.silhouetteColor=new l.ConstantProperty(l.Color.TRANSPARENT),this._entity.model.silhouetteSize=new l.ConstantProperty(0),this._entity=void 0)}};var o=require("cesium"),g=class{_color=o.Color.RED;_entity;_entities;_currentObject;_currentOptions;constructor(e){this._entities=e.entities,this._entity=this._entities.add(new o.Entity({id:`highlight-entity-${Math.random().toString(36).substring(2)}`,show:!1}))}get color(){return this._color}set color(e){this._color=e}get entity(){return this._entity}get currentObject(){return this._currentObject}show(e,t){if(!(!(0,o.defined)(e)||!this._entity)){if(this._currentObject===e&&this._optionsEqual(this._currentOptions,t))return this._entity;this._clearGeometries();try{if(e instanceof o.Entity&&(e.polygon||e.polyline||e.rectangle))this._update(e,t);else if(e instanceof o.GroundPrimitive)this._update(e,t);else{this._currentObject=void 0,this._currentOptions=void 0;return}return this._currentObject=e,this._currentOptions=t?{...t}:void 0,this._entity.show=!0,this._entity}catch(i){console.error("Failed to highlight object:",i),this._currentObject=void 0,this._currentOptions=void 0;return}}}hide(){this._entity&&(this._entity.show=!1),this._currentObject=void 0,this._currentOptions=void 0}destroy(){this._entities.contains(this._entity)&&this._entities.remove(this._entity),this._currentObject=void 0,this._currentOptions=void 0}_optionsEqual(e,t){return!e&&!t?!0:!e||!t?!1:e.outline===t.outline&&e.width===t.width&&o.Color.equals(e.color||this._color,t.color||this._color)}_clearGeometries(){this._entity.polygon=void 0,this._entity.polyline=void 0,this._entity.rectangle=void 0}_update(e,t={color:this._color,outline:!1,width:2}){if(e instanceof o.Entity){if(e.polygon)if(t.outline){let i=e.polygon.hierarchy?.getValue();if(i&&i.positions){let n;i.positions.length>0&&!o.Cartesian3.equals(i.positions[0],i.positions[i.positions.length-1])?n=[...i.positions,i.positions[0]]:n=i.positions,this._entity.polyline=new o.PolylineGraphics({positions:n,material:t.color,width:t.width||2,clampToGround:!0})}}else{let i=e.polygon.hierarchy?.getValue();i&&(this._entity.polygon=new o.PolygonGraphics({hierarchy:i,material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND,classificationType:e.polygon.classificationType?.getValue()||o.ClassificationType.BOTH}))}else if(e.polyline){let i=e.polyline.positions?.getValue();if(i){let n=e.polyline.width?.getValue();this._entity.polyline=new o.PolylineGraphics({positions:i,material:t.color,width:n+(t.width||2),clampToGround:!0})}}else if(e.rectangle)if(t.outline){let i=e.rectangle.coordinates?.getValue();if(i){let n=[o.Cartesian3.fromRadians(i.west,i.north),o.Cartesian3.fromRadians(i.east,i.north),o.Cartesian3.fromRadians(i.east,i.south),o.Cartesian3.fromRadians(i.west,i.south),o.Cartesian3.fromRadians(i.west,i.north)];this._entity.polyline=new o.PolylineGraphics({positions:n,material:t.color,width:t.width||2,clampToGround:!0})}}else{let i=e.rectangle.coordinates?.getValue();i&&(this._entity.rectangle=new o.RectangleGraphics({coordinates:i,material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND}))}}else if(e instanceof o.GroundPrimitive){let i=e.geometryInstances,n=Array.isArray(i)?i[0]:i;if(!n.geometry.attributes.position)return;let a=n.geometry.attributes.position.values,c=[];for(let u=0;u<a.length;u+=3)c.push(new o.Cartesian3(a[u],a[u+1],a[u+2]));t.outline?this._entity.polyline=new o.PolylineGraphics({positions:c,material:t.color,width:t.width||2,clampToGround:!0}):this._entity.polygon=new o.PolygonGraphics({hierarchy:new o.PolygonHierarchy(c),material:t.color,heightReference:o.HeightReference.CLAMP_TO_GROUND,classificationType:o.ClassificationType.BOTH})}}};var x=class r{static instances=new WeakMap;_surface;_silhouette;_color=h.Color.RED;constructor(e){this._surface=new g(e),this._silhouette=new v(e),this._surface.color=this._color,this._silhouette.color=this._color}get color(){return this._color}set color(e){this._color=e,this._surface.color=e,this._silhouette.color=e}static getInstance(e){let t=e.container;return r.instances.has(t)||r.instances.set(t,new r(e)),r.instances.get(t)}static releaseInstance(e){let t=e.container,i=r.instances.get(t);i&&(i.hide(),i._surface&&i._surface.destroy(),i._silhouette&&i._silhouette.destroy(),r.instances.delete(t))}show(e,t={color:this._color}){let i=this._getObject(e);if((0,h.defined)(i))return i instanceof h.Cesium3DTileFeature?this._silhouette.show(i,t):i instanceof h.Entity&&i.model?this._silhouette.show(i,t):this._surface.show(i,t)}_getObject(e){if((0,h.defined)(e)){if(e instanceof h.Entity||e instanceof h.Cesium3DTileFeature||e instanceof h.GroundPrimitive)return e;if(e.id instanceof h.Entity)return e.id;if(e.primitive instanceof h.GroundPrimitive)return e.primitive}}hide(){this._surface.hide(),this._silhouette.hide()}},I=x;var k=require("cesium");var S=require("cesium");function C(r,e){if((0,S.defined)(r)&&(0,S.defined)(e)){let{camera:t}=r;e.camera.position=t.positionWC.clone(),e.camera.direction=t.directionWC.clone(),e.camera.up=t.upWC.clone()}}function H(r,e,t){let i={baseLayerPicker:r.baseLayerPicker!==void 0,geocoder:r.geocoder!==void 0,homeButton:r.homeButton!==void 0,sceneModePicker:r.sceneModePicker!==void 0,timeline:r.timeline!==void 0,navigationHelpButton:r.navigationHelpButton!==void 0,animation:r.animation!==void 0,fullscreenButton:r.fullscreenButton!==void 0,shouldAnimate:r.clock.shouldAnimate,terrainProvider:r.terrainProvider,requestRenderMode:r.scene.requestRenderMode,infoBox:r.infoBox!==void 0},n=new k.Viewer(e,{...i,...t});C(r,n);let a=r.imageryLayers;n.imageryLayers.removeAll();for(let s=0;s<a.length;s++){let d=a.get(s);n.imageryLayers.addImageryProvider(d.imageryProvider,s)}n.clock.startTime=r.clock.startTime.clone(),n.clock.stopTime=r.clock.stopTime.clone(),n.clock.currentTime=r.clock.currentTime.clone(),n.clock.multiplier=r.clock.multiplier,n.clock.clockStep=r.clock.clockStep,n.clock.clockRange=r.clock.clockRange,n.clock.shouldAnimate=r.clock.shouldAnimate,n.scene.globe.enableLighting=r.scene.globe.enableLighting,n.scene.globe.depthTestAgainstTerrain=r.scene.globe.depthTestAgainstTerrain,n.scene.screenSpaceCameraController.enableCollisionDetection=r.scene.screenSpaceCameraController.enableCollisionDetection;let c=r.scene.screenSpaceCameraController.tiltEventTypes;c&&(n.scene.screenSpaceCameraController.tiltEventTypes=Array.isArray(c)?[...c]:c);let u=r.scene.screenSpaceCameraController.zoomEventTypes;return u&&(n.scene.screenSpaceCameraController.zoomEventTypes=Array.isArray(u)?[...u]:u),n}
package/dist/index.d.cts CHANGED
@@ -2,6 +2,6 @@ export { Collection } from './collection/index.cjs';
2
2
  export { Highlight, SilhouetteHighlight, SurfaceHighlight } from './highlight/index.cjs';
3
3
  export { TerrainOptions, TerrainRegion, TerrainTiles } from './terrain/index.cjs';
4
4
  export { cloneViewer, syncCamera } from './viewer/index.cjs';
5
- export { H as HybridTerrainProvider } from './hybrid-terrain-provider-CVTrsFR5.cjs';
5
+ export { H as HybridTerrainProvider } from './hybrid-terrain-provider-Th8n2hZ1.cjs';
6
6
  import 'cesium';
7
7
  import './type-check-B-zGL1Ne.cjs';
package/dist/index.d.ts CHANGED
@@ -2,6 +2,6 @@ export { Collection } from './collection/index.js';
2
2
  export { Highlight, SilhouetteHighlight, SurfaceHighlight } from './highlight/index.js';
3
3
  export { TerrainOptions, TerrainRegion, TerrainTiles } from './terrain/index.js';
4
4
  export { cloneViewer, syncCamera } from './viewer/index.js';
5
- export { H as HybridTerrainProvider } from './hybrid-terrain-provider-CVTrsFR5.js';
5
+ export { H as HybridTerrainProvider } from './hybrid-terrain-provider-Th8n2hZ1.js';
6
6
  import 'cesium';
7
7
  import './type-check-B-zGL1Ne.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as e}from"./chunk-WCOPDVHL.js";import"./chunk-B3AVU53O.js";import{a as i,b as o,c as t}from"./chunk-PSCNWZUR.js";import"./chunk-6I6OKECI.js";import{a as r}from"./chunk-6ABRDFE5.js";import{a as p,b as m}from"./chunk-Z2COOTT4.js";export{e as Collection,t as Highlight,r as HybridTerrainProvider,i as SilhouetteHighlight,o as SurfaceHighlight,m as cloneViewer,p as syncCamera};
1
+ import{a as e}from"./chunk-VWM3HSEI.js";import"./chunk-ZXZ7TVB3.js";import{a as i,b as o,c as t}from"./chunk-PSCNWZUR.js";import"./chunk-6I6OKECI.js";import{a as r}from"./chunk-XHMLNB5Q.js";import{a as p,b as m}from"./chunk-Z2COOTT4.js";export{e as Collection,t as Highlight,r as HybridTerrainProvider,i as SilhouetteHighlight,o as SurfaceHighlight,m as cloneViewer,p as syncCamera};
@@ -1 +1 @@
1
- "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var p=(t,r)=>{for(var e in r)u(t,e,{get:r[e],enumerable:!0})},_=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of y(r))!h.call(t,a)&&a!==e&&u(t,a,{get:()=>r[a],enumerable:!(i=c(r,a))||i.enumerable});return t};var x=t=>_(u({},"__esModule",{value:!0}),t);var A={};p(A,{HybridTerrainProvider:()=>m});module.exports=x(A);var b=require("cesium"),l=class t{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(r){this._defaultProvider=r.defaultProvider,this._fallbackProvider=r.fallbackProvider||new b.EllipsoidTerrainProvider,this._tilingScheme=r.defaultProvider.tilingScheme,this._regions=r.regions||[],this._availability=r.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(r,e,i){return this._defaultProvider.loadTileDataAvailability(r,e,i)}getLevelMaximumGeometricError(r){return this._defaultProvider.getLevelMaximumGeometricError(r)}requestTileGeometry(r,e,i,a){if(this._ready){for(let n of this._regions)if(t.TerrainRegion.contains(n,r,e,i))return n.provider.requestTileGeometry(r,e,i,a);return this._defaultProvider.getTileDataAvailable(r,e,i)?this._defaultProvider.requestTileGeometry(r,e,i,a):this._fallbackProvider.requestTileGeometry(r,e,i,a)}}getTileDataAvailable(r,e,i){for(let a of this._regions)if(t.TerrainRegion.contains(a,r,e,i)&&a.provider.getTileDataAvailable(r,e,i))return!0;return this._defaultProvider.getTileDataAvailable(r,e,i)}};(e=>{function t(i,a,n){return new e({regions:i.map(d=>({...d})),defaultProvider:a,fallbackProvider:n})}e.fromTileRanges=t;let r;(a=>{function i(n,d,s,v){if(n.levels&&!n.levels.includes(v))return!1;if(n.tiles){let o=n.tiles.get(v);if(!o)return!1;let[f,T]=Array.isArray(o.x)?o.x:[o.x,o.x],[P,g]=Array.isArray(o.y)?o.y:[o.y,o.y];return d>=f&&d<=T&&s>=P&&s<=g}return!1}a.contains=i})(r=e.TerrainRegion||={})})(l||={});var m=l;
1
+ "use strict";var u=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var p=(a,r)=>{for(var e in r)u(a,e,{get:r[e],enumerable:!0})},_=(a,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of y(r))!h.call(a,t)&&t!==e&&u(a,t,{get:()=>r[t],enumerable:!(i=c(r,t))||i.enumerable});return a};var x=a=>_(u({},"__esModule",{value:!0}),a);var R={};p(R,{HybridTerrainProvider:()=>b});module.exports=x(R);var m=require("cesium"),l=class a{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(r){this._defaultProvider=r.defaultProvider,this._fallbackProvider=r.fallbackProvider||new m.EllipsoidTerrainProvider,this._tilingScheme=r.defaultProvider.tilingScheme,this._regions=r.regions||[],this._availability=r.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(r,e,i){return this._defaultProvider.loadTileDataAvailability(r,e,i)}getLevelMaximumGeometricError(r){return this._defaultProvider.getLevelMaximumGeometricError(r)}requestTileGeometry(r,e,i,t){if(this._ready){for(let n of this._regions)if(a.TerrainRegion.contains(n,r,e,i))return n.provider.requestTileGeometry(r,e,i,t);return this._defaultProvider.getTileDataAvailable(r,e,i)?this._defaultProvider.requestTileGeometry(r,e,i,t):this._fallbackProvider.requestTileGeometry(r,e,i,t)}}getTileDataAvailable(r,e,i){for(let t of this._regions)if(a.TerrainRegion.contains(t,r,e,i))return!0;return this._defaultProvider.getTileDataAvailable(r,e,i)}};(e=>{function a(i,t,n){return new e({regions:i.map(d=>({...d})),defaultProvider:t,fallbackProvider:n})}e.fromTileRanges=a;let r;(t=>{function i(n,d,s,v){if(n.levels&&!n.levels.includes(v))return!1;if(n.tiles){let o=n.tiles.get(v);if(!o)return!1;let[f,T]=Array.isArray(o.x)?o.x:[o.x,o.x],[P,g]=Array.isArray(o.y)?o.y:[o.y,o.y];return d>=f&&d<=T&&s>=P&&s<=g}return!1}t.contains=i})(r=e.TerrainRegion||={})})(l||={});var b=l;
@@ -1,4 +1,4 @@
1
- import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-CVTrsFR5.cjs';
1
+ import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-Th8n2hZ1.cjs';
2
2
  import 'cesium';
3
3
 
4
4
  type TerrainTiles = NonNullable<HybridTerrainProvider.TerrainRegion["tiles"]>;
@@ -1,4 +1,4 @@
1
- import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-CVTrsFR5.js';
1
+ import { H as HybridTerrainProvider } from '../hybrid-terrain-provider-Th8n2hZ1.js';
2
2
  import 'cesium';
3
3
 
4
4
  type TerrainTiles = NonNullable<HybridTerrainProvider.TerrainRegion["tiles"]>;
@@ -1 +1 @@
1
- import"../chunk-6I6OKECI.js";import{a}from"../chunk-6ABRDFE5.js";export{a as HybridTerrainProvider};
1
+ import"../chunk-6I6OKECI.js";import{a}from"../chunk-XHMLNB5Q.js";export{a as HybridTerrainProvider};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juun-roh/cesium-utils",
3
- "version": "0.3.9",
3
+ "version": "0.4.0",
4
4
  "description": "Solve common Cesium.js challenges: combine multiple terrain sources, tag and filter entity collections, and add visual highlights.",
5
5
  "keywords": [
6
6
  "cesium",
@@ -1 +0,0 @@
1
- import{EllipsoidTerrainProvider as g}from"cesium";var o=class d{_regions;_defaultProvider;_fallbackProvider;_tilingScheme;_ready=!1;_availability;constructor(e){this._defaultProvider=e.defaultProvider,this._fallbackProvider=e.fallbackProvider||new g,this._tilingScheme=e.defaultProvider.tilingScheme,this._regions=e.regions||[],this._availability=e.defaultProvider.availability,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(){return this._defaultProvider?.credit}get errorEvent(){return this._defaultProvider.errorEvent}get hasWaterMask(){return this._defaultProvider.hasWaterMask}get hasVertexNormals(){return this._defaultProvider.hasVertexNormals}loadTileDataAvailability(e,r,i){return this._defaultProvider.loadTileDataAvailability(e,r,i)}getLevelMaximumGeometricError(e){return this._defaultProvider.getLevelMaximumGeometricError(e)}requestTileGeometry(e,r,i,t){if(this._ready){for(let a of this._regions)if(d.TerrainRegion.contains(a,e,r,i))return a.provider.requestTileGeometry(e,r,i,t);return this._defaultProvider.getTileDataAvailable(e,r,i)?this._defaultProvider.requestTileGeometry(e,r,i,t):this._fallbackProvider.requestTileGeometry(e,r,i,t)}}getTileDataAvailable(e,r,i){for(let t of this._regions)if(d.TerrainRegion.contains(t,e,r,i)&&t.provider.getTileDataAvailable(e,r,i))return!0;return this._defaultProvider.getTileDataAvailable(e,r,i)}};(r=>{function d(i,t,a){return new r({regions:i.map(l=>({...l})),defaultProvider:t,fallbackProvider:a})}r.fromTileRanges=d;let e;(t=>{function i(a,l,u,s){if(a.levels&&!a.levels.includes(s))return!1;if(a.tiles){let n=a.tiles.get(s);if(!n)return!1;let[v,m]=Array.isArray(n.x)?n.x:[n.x,n.x],[b,f]=Array.isArray(n.y)?n.y:[n.y,n.y];return l>=v&&l<=m&&u>=b&&u<=f}return!1}t.contains=i})(e=r.TerrainRegion||={})})(o||={});var T=o;export{T as a};
@@ -1 +0,0 @@
1
- import{a as f}from"./chunk-6ABRDFE5.js";var _;(l=>{let o=new Set,r=typeof process<"u"?process.env.CESIUM_UTILS_DISABLE_DEPRECATION_WARNINGS!=="true":!0;function e(s,y={}){if(!r)return;let{once:h=!0,prefix:v="[DEPRECATED]",includeStack:u=!0,removeInVersion:b}=y;if(h&&o.has(s))return;let m=`${v} ${s}`;b&&(m+=` This feature will be removed in ${b}.`),typeof console<"u"&&console.warn&&(u?(console.warn(m),console.trace("Deprecation stack trace:")):console.warn(m)),h&&o.add(s)}l.warn=e;function i(s,y,h={}){let v=((...u)=>(e(y,h),s(...u)));return Object.defineProperty(v,"name",{value:s.name,configurable:!0}),v}l.deprecate=i;function t(){o.clear()}l.clear=t;function n(){return o.size}l.getWarningCount=n;function a(s){return o.has(s)}l.hasShown=a})(_||={});var C=_;import{Color as c,TileCoordinatesImageryProvider as P}from"cesium";import{Color as p,GridImageryProvider as w}from"cesium";var d=class extends w{_terrainProvider;_colors;constructor(r){let{terrainProvider:e,colors:i,...t}=r;super(t),this._terrainProvider=e,this._colors=i}requestImage(r,e,i){for(let t of this._terrainProvider.regions)if(this._isInRegion(t,r,e,i))return this._createCanvasElement(this._colors.get("custom")||p.RED);return this._defaultProviderCoversArea(r,e,i)?this._createCanvasElement(this._colors.get("default")||p.BLUE):this._createCanvasElement(this._colors.get("fallback")||p.GRAY)}_isInRegion(r,e,i,t){if(f.TerrainRegion.contains(r,e,i,t))return!0;if(r.tiles){let n=e,a=i,l=t;for(;l>0;)if(l--,n=Math.floor(n/2),a=Math.floor(a/2),f.TerrainRegion.contains(r,n,a,l))return!0}return!1}_defaultProviderCoversArea(r,e,i){let t=r,n=e,a=i;for(;a>=0;){if(this._terrainProvider.defaultProvider.getTileDataAvailable(t,n,a))return!0;if(a===0)break;a--,t=Math.floor(t/2),n=Math.floor(n/2)}return!1}_createCanvasElement(r){let e=document.createElement("canvas");e.width=256,e.height=256;let i=e.getContext("2d"),t=r.withAlpha(.3).toCssColorString();if(!i)throw new Error("canvas context undefined");return i.fillStyle=t,i.fillRect(0,0,256,256),Promise.resolve(e)}};var g=class{_viewer;_terrainProvider;_visible=!1;_tileCoordinatesLayer;_hybridImageryLayer;_colors=new Map([["custom",c.RED],["default",c.BLUE],["fallback",c.GRAY],["grid",c.YELLOW]]);constructor(r,e){this._viewer=r,this._terrainProvider=e.terrainProvider,e.colors&&Object.entries(e.colors).forEach(([i,t])=>{this._colors.set(i,t)}),e.tile!==void 0&&e.tile&&this.show()}setTerrainProvider(r){this._terrainProvider=r,this.update()}update(){let r=this._visible,e=!!this._tileCoordinatesLayer,i=this._hybridImageryLayer?.alpha??.5;this.clear(),r&&this.show({showTileCoordinates:e,alpha:i})}clear(){this.hide()}show(r){if(!this._terrainProvider)return;let e=r?.showTileCoordinates??!0,i=r?.alpha??.5;e&&this._ensureTileCoordinatesLayer(),this.showImageryOverlay(i),this._visible=!0}_ensureTileCoordinatesLayer(){this._tileCoordinatesLayer||(this._tileCoordinatesLayer=this._viewer.imageryLayers.addImageryProvider(new P({tilingScheme:this._terrainProvider.tilingScheme,color:c.YELLOW})))}hide(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0),this.hideImageryOverlay(),this._visible=!1}setColors(r){Object.entries(r).forEach(([e,i])=>{this._colors.set(e,i)}),this.update()}showImageryOverlay(r=.5){this._hybridImageryLayer&&this._viewer.imageryLayers.remove(this._hybridImageryLayer);let e=new d({terrainProvider:this._terrainProvider,colors:this._colors,tilingScheme:this._terrainProvider.tilingScheme});this._hybridImageryLayer=this._viewer.imageryLayers.addImageryProvider(e),this._hybridImageryLayer.alpha=r,console.log("HybridImageryProvider overlay enabled")}hideImageryOverlay(){this._hybridImageryLayer&&(this._viewer.imageryLayers.remove(this._hybridImageryLayer),this._hybridImageryLayer=void 0,console.log("HybridImageryProvider overlay disabled"))}showTileCoordinates(){this._ensureTileCoordinatesLayer()}hideTileCoordinates(){this._tileCoordinatesLayer&&(this._viewer.imageryLayers.remove(this._tileCoordinatesLayer),this._tileCoordinatesLayer=void 0)}setAlpha(r){this._hybridImageryLayer&&(this._hybridImageryLayer.alpha=r)}flyTo(r,e){this._viewer.camera.flyTo({destination:r,...e,complete:()=>{this._visible&&this.update()}})}get tileCoordinatesVisible(){return!!this._tileCoordinatesLayer}get visible(){return this._visible}get viewer(){return this._viewer}get colors(){return this._colors}get terrainProvider(){return this._terrainProvider}};function L(o,r){let e=!1,i=Object.getOwnPropertyDescriptor(o,r);if(!i){let t=Object.getPrototypeOf(o);for(;t&&!i;)i=Object.getOwnPropertyDescriptor(t,r),t=Object.getPrototypeOf(t)}return i&&i.get&&!i.set&&(e=!0),e}var G=C.deprecate;export{C as a,g as b,L as c,G as d};