vesium 1.0.1-beta.51 → 1.0.1-beta.54

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,2 +1,2 @@
1
- import{computedAsync as e,promiseTimeout as t,refThrottled as n,tryOnScopeDispose as r,useElementBounding as i,useElementSize as a,useMutationObserver as o,watchImmediate as s,watchThrottled as c}from"@vueuse/core";import{CallbackProperty as l,Cartesian2 as u,Cartesian3 as d,Cartographic as f,ConstantProperty as p,Ellipsoid as m,EllipsoidGeodesic as h,Material as g,Math as _,ScreenSpaceEventHandler as v,ScreenSpaceEventType as y,Viewer as b,defined as x}from"cesium";import{computed as S,getCurrentScope as C,inject as ee,markRaw as te,nextTick as ne,provide as re,readonly as ie,ref as w,shallowReactive as ae,shallowReadonly as oe,shallowRef as T,toRaw as se,toRef as E,toValue as D,watch as O,watchEffect as k}from"vue";const A=Symbol(`CREATE_VIEWER_INJECTION_KEY`),j=new WeakMap;function ce(...e){let t=T(),n=oe(t);re(A,n);let i=C();i&&j.set(i,n);let a=S(()=>t.value?.canvas);return o(document?.body,()=>{a.value&&!document?.body.contains(a.value)&&(t.value=void 0)},{childList:!0,subtree:!0}),k(n=>{let[r,i]=e,a=se(D(r));if(a instanceof b)t.value=te(a);else if(a){let e=a,r=i;t.value=new b(e,r),n(()=>!t.value?.isDestroyed()&&t.value?.destroy())}else t.value=void 0}),r(()=>{t.value=void 0}),S(()=>t.value?.isDestroyed()?void 0:t.value)}function le(e,t){let n=new Set(t),r=e.filter(e=>!n.has(e)),i=new Set(e),a=t?.filter(e=>!i.has(e))??[];return{added:r,removed:a}}function ue(e,t,n=`auto`){if(n===`pickPosition`)return t.pickPosition(e);if(n===`globePick`){let n=t.camera.getPickRay(e);return n&&t.globe.pick(n,t)}else{if(t.globe.depthTestAgainstTerrain)return t.pickPosition(e);let n=t.pickPosition(e),r=t.camera.getPickRay(e),i=r&&t.globe.pick(r,t);if(!n)return i;let a=(n&&m.WGS84.cartesianToCartographic(n).height)??0,o=(i&&m.WGS84.cartesianToCartographic(i).height)??0;return a<o?n:i}}function M(e,t){return t.cartesianToCanvasCoordinates(e)}const N=Object.prototype.toString;function P(e){return e!==void 0}function de(e){return typeof e==`boolean`}function F(e){return typeof e==`function`}function fe(e){return typeof e==`number`}function pe(e){return typeof e==`string`}function me(e){return N.call(e)===`[object Object]`}function he(e){return typeof window<`u`&&N.call(e)===`[object Window]`}function I(e){return!!e&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}function ge(e){return!!(e&&e.nodeName&&e.nodeType===1)}const _e=Array.isArray;function ve(e){let t=/^\s*data:([a-z]+\/[\d+.a-z-]+(;[a-z-]+=[\da-z-]+)?)?(;base64)?,([\s\w!$%&'()*+,./:;=?@~-]*?)\s*$/i;return t.test(e)}function ye(e,t){if(e)throw Error(t)}function be(e,t){return e===t||F(e?.equals)&&e.equals(t)||F(t?.equals)&&t.equals(e)}function L(e,t={}){if(!e)return;let{type:n=`Array`,alt:r=!1}=t,i,a,o;if(e instanceof d){let t=m.WGS84.cartesianToCartographic(e);i=_.toDegrees(t.longitude),a=_.toDegrees(t.latitude),o=t.height}else if(e instanceof f){let t=e;i=_.toDegrees(t.longitude),a=_.toDegrees(t.latitude),o=t.height}else Array.isArray(e)?(i=_.toDegrees(e[0]),a=_.toDegrees(e[1]),o=e[2]):(i=e.longitude,a=e.latitude,o=e.height);return n===`Array`?r?[i,a,o]:[i,a]:r?{longitude:i,latitude:a,height:o}:{longitude:i,latitude:a}}function R(e,t=3){let n=`${e}`,r=n.indexOf(`.`),i=r<0?n:n.slice(0,Math.max(0,r)),a=`0`,o=`0`;return r>0&&(a=`0${n.slice(Math.max(0,r))}`,a=`${a*60}`,r=a.indexOf(`.`),r>0&&(o=`0${a.slice(Math.max(0,r))}`,a=a.slice(0,Math.max(0,r)),o=`${o*60}`,r=o.indexOf(`.`),o=o.slice(0,Math.max(0,r+4)),o=(+o).toFixed(t))),`${Math.abs(+i)}°${+a}′${+o}″`}function z(e){let[t,n]=e.split(`°`)??[],[r,i]=n?.split(`′`)??[],a=i?.split(`″`)[0],o=Number(t)||0,s=(Number(r)||0)/60,c=(Number(a)||0)/60/60,l=o+s+c;if(l===0)return 0;{let t=l;return[`W`,`w`,`S`,`s`].includes(e[e.length-1])&&(t=-t),t}}function xe(e,t=3){let n=L(e,{alt:!0});if(!n)return;let[r,i,a]=n,o=R(r,t),s=R(i,t);return[`${o}${r>0?`E`:`W`}`,`${s}${i>0?`N`:`S`}`,a]}function Se(e){let[t,n,r]=e,i=z(t),a=z(n);return[i,a,Number(r)||0]}function Ce(e){return!x(e)||!!e.isConstant}var we=class extends g{constructor(e){super(e)}};function Te(e){return g._materialCache.getMaterial(e)}function Ee(e,t){return g._materialCache.addMaterial(e,t)}function B(e={}){let{primitive:t,id:n,primitiveCollection:r,collection:i}=e,a=n&&n.entityCollection||null,o=a&&a.owner||null,s=Array.isArray(n)?n:[n].filter(Boolean);return[...s,t,r,i,a,o].filter(e=>!!e)}function De(e,t){if(!Array.isArray(t)||!t.length)return!1;let n=B(e);return n.length?n.some(e=>t.includes(e)):!1}function V(e){return e&&F(e.getValue)}function Oe(e,t){return V(e)?e.getValue(t):e}function H(e,t=!1){return V(e)?e:F(e)?new l(e,t):new p(e)}function ke(e,t,n,r){let i,a=n=>{i?.(),x(n?.definitionChanged)&&(i=n?.definitionChanged?.addEventListener(()=>{e.definitionChanged.raiseEvent(e,t,n,n)}))},o=`_${t}`,s=H(n);e[o]=s,a(s),r?Object.defineProperty(e,t,{get(){return e[o]}}):Object.defineProperty(e,t,{get(){return e[o]},set(n){let r=e[o];e[o]!==n&&(e[o]=n,a(n),x(e.definitionChanged)&&e.definitionChanged.raiseEvent(e,t,n,r))}})}function Ae(e,t,n,r={}){let i=!!r.toProperty,a=!!r.shallowClone,o=r.changedEventKey||`definitionChanged`,s=Reflect.get(e,o),c=`_${String(t)}`,l=i?H(n):n;Reflect.set(e,c,l);let u={get(){let t=Reflect.get(e,c);return a?Array.isArray(t)?[...t]:{...t}:t}},d,f=(n,r)=>{d?.(),d=n?.definitionChanged?.addEventListener(()=>{s?.raiseEvent.bind(s)(e,t,n,r)})};r.readonly||(i&&V(n)&&f(n),u.set=n=>{if(i&&!V(n))throw Error(`The value of ${String(t)} must be a Cesium.Property object`);let r=Reflect.get(e,c);r!==n&&(Reflect.set(e,c,n),s?.raiseEvent.bind(s)(e,t,n,r),i&&f(n))}),Object.defineProperty(e,t,u)}function je(e,t,n,r={}){return Ae(e,t,n,{...r,toProperty:!0})}function U(e,n=100,r=!0,i=!1){let a=[],o=!1,s=async()=>{if(await t(n),o=!1,i)try{e(...a[0])}catch(e){console.error(e)}if(r&&(!i||a.length>1))try{e(...a[a.length-1])}catch(e){console.error(e)}a.length=0};return(...e)=>{a.length<2?a.push(e):a[1]=e,o||(o=!0,s())}}function W(e){if(e)return e instanceof d?e.clone():e instanceof f?m.WGS84.cartographicToCartesian(e):Array.isArray(e)?d.fromDegrees(e[0],e[1],e[2]):d.fromDegrees(e.longitude,e.latitude,e.height)}function Me(e){if(e)return e instanceof d?m.WGS84.cartesianToCartographic(e):e instanceof f?e.clone():Array.isArray(e)?f.fromDegrees(e[0],e[1],e[2]):f.fromDegrees(e.longitude,e.latitude,e.height)}function G(e){return(...t)=>{try{return e?.(...t)}catch(e){console.error(e)}}}async function K(e,t={}){try{let{raw:n=!0}=t,r;if(F(e))r=await e();else{let t=D(e);r=I(t)?await t:t}return n?se(r):r}catch(e){throw console.error(e),e}}function q(e,t,n={}){let i=E(n.isActive??!0),a=k(n=>{let r=D(e),a=Array.isArray(r)?r:[r];if(a&&a.length&&i.value){let e=a.map(e=>{let n=D(e);return n?.addEventListener(t,n)});n(()=>e.forEach(e=>e?.()))}});return r(a.stop),a.stop}function J(){let e=C(),t=e?j.get(e):void 0;if(t)return t;{let e=ee(A);if(!e)throw Error("The `Viewer` instance injected by `createViewer` was not found in the current component or its ancestor components. Have you called `createViewer`?");return e}}function Ne(e={}){let t=e.camera;if(!t){let e=J();t=()=>e.value?.scene.camera}let r=S(()=>D(t)),i=S(()=>{let t=D(e.event)||`changed`;return r.value?.[t]}),a=n(T(Symbol(`camera change`)),e.delay??8,!0,!1),o=()=>{a.value=Symbol(`camera change`)};return O(r,()=>o()),q(i,()=>o()),{camera:r,position:S(()=>a.value?r.value?.position?.clone():void 0),direction:S(()=>a.value?r.value?.direction?.clone():void 0),up:S(()=>a.value?r.value?.up?.clone():void 0),right:S(()=>a.value?r.value?.right?.clone():void 0),positionCartographic:S(()=>a.value?r.value?.positionCartographic?.clone():void 0),positionWC:S(()=>a.value?r.value?.positionWC?.clone():void 0),directionWC:S(()=>a.value?r.value?.directionWC?.clone():void 0),upWC:S(()=>a.value?r.value?.directionWC?.clone():void 0),rightWC:S(()=>a.value?r.value?.directionWC?.clone():void 0),viewRectangle:S(()=>a.value?r.value?.computeViewRectangle():void 0),heading:S(()=>a.value?r.value?.heading:void 0),pitch:S(()=>a.value?r.value?.pitch:void 0),roll:S(()=>a.value?r.value?.roll:void 0),level:S(()=>a.value&&r.value?.positionCartographic?.height?Le(r.value.positionCartographic.height):void 0)}}const Pe=40487.57,Fe=7096758e-11,Ie=91610.74,Y=-40467.74;function Le(e){return Y+(Pe-Y)/(1+(e/Ie)**Fe)}function Re(e={}){let{delay:t=100}=e,n=J(),r=T(performance.now());q(()=>n.value?.scene.postRender,()=>r.value=performance.now());let i=w(0);c(r,(e,t)=>{i.value=e-t},{throttle:t});let a=S(()=>1e3/i.value);return{interval:ie(i),fps:a}}function X(e,t,n){let i=ae(new Set),a=(t,...n)=>{let r=e(t,...n);return I(r)?new Promise((e,t)=>{r.then(t=>{i.add(t),e(t)}).catch(e=>t(e))}):(i.add(r),r)},o=(e,...n)=>(i.delete(e),t(e,...n)),s=(e,...t)=>{i.forEach(n=>{e(n)&&o(n,...t)})},c=(...e)=>{i.forEach(t=>{o(t,...e)})};return r(()=>c(...n)),{scope:oe(i),add:a,remove:o,removeWhere:s,removeScope:c}}function ze(t,n={}){let{destroyOnRemove:r,collection:i,isActive:a=!0,evaluating:o}=n,s=e(()=>K(t),void 0,{evaluating:o}),c=J();return k(e=>{let t=D(a);if(t){let t=Array.isArray(s.value)?[...s.value]:[s.value],n=i??c.value?.dataSources;t.forEach(e=>e&&n?.add(e)),e(()=>{let e=D(r);!n?.isDestroyed()&&t.forEach(t=>t&&n?.remove(t,e))})}}),s}function Be(e={}){let{collection:t,destroyOnRemove:n}=e,r=J(),i=S(()=>D(t)??r.value?.dataSources),a=e=>{if(!i.value)throw Error(`collection is not defined`);return i.value.add(e)},o=(e,t)=>!!i.value?.remove(e,t),{scope:s,add:c,remove:l,removeWhere:u,removeScope:d}=X(a,o,[n]);return{scope:s,add:c,remove:l,removeWhere:u,removeScope:d}}function Ve(e,t,n={}){let{referenceWindow:r,horizontal:a=`center`,vertical:o=`bottom`,offset:s={x:0,y:0}}=n,c=S(()=>W(D(t))),l=J(),d=T();q(()=>l.value?.scene.postRender,()=>{if(l.value?.scene)if(!c.value)d.value=void 0;else{let e=M(c.value,l.value.scene);d.value=u.equals(e,d.value)?d.value:e}});let f=i(()=>l.value?.canvas.parentElement),p=i(e),m=S(()=>{let e=D(s),t=e?.x??0,n=D(a);n===`center`?t-=p.width.value/2:n===`right`&&(t-=p.width.value);let r=e?.y??0,i=D(o);return i===`center`?r-=p.height.value/2:i===`bottom`&&(r-=p.height.value),{x:t,y:r}}),h=S(()=>{let e={x:d.value?.x??0,y:d.value?.y??0};return D(r)&&(e.x+=f.x.value,e.y+=f.y.value),{x:m.value.x+e.x,y:m.value.y+e.y}}),g=S(()=>h.value.x),_=S(()=>h.value.y),v=S(()=>({left:`${g.value?.toFixed(2)}px`,top:`${_.value?.toFixed(2)}px`}));return k(()=>{let t=D(e);t&&D(n.applyStyle??!0)&&(t.style?.setProperty?.(`left`,v.value.left),t.style?.setProperty?.(`top`,v.value.top))}),{x:g,y:_,style:v}}function He(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>K(t),[],{evaluating:a}),s=J();return k(e=>{let t=D(i);if(t){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r??s.value?.entities;t.forEach(e=>e&&n?.add(e)),e(()=>{t.forEach(e=>e&&n?.remove(e))})}}),o}function Ue(e={}){let{collection:t}=e,n=J(),r=S(()=>D(t)??n.value?.entities),i=e=>{if(!r.value)throw Error(`collection is not defined`);return r.value.contains(e)||r.value.add(e),e},a=e=>!!r.value?.remove(e),{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}=X(i,a,[]);return{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}}const We=new WeakMap;function Z(e,t={}){let{width:r=3,height:i=3,throttled:a=8}=t,o=E(t.isActive??!0),s=J(),c=n(S(()=>D(e)?.clone()),a,!1,!0),l=T();return k(()=>{if(s.value&&c.value&&o.value){let e=We.get(s.value);e&&e[0].equals(c.value)?l.value=e[1]:(We.set(s.value,[c.value.clone(),l.value]),l.value=s.value?.scene.pick(c.value,D(r),D(i)))}}),l}function Q(e,t,n={}){let{modifier:i}=n,a=J(),o=E(n.isActive??!0),s=S(()=>{if(a.value?.cesiumWidget?.canvas)return new v(a.value.cesiumWidget.canvas)}),c=O(s,(e,t)=>{a.value?.cesiumWidget&&t?.destroy()}),l=k(n=>{let r=D(e),a=D(i),c=D(s);!c||!o.value||!t||P(r)&&(c.setInputAction(t,r,a),n(()=>c.removeInputAction(r,a)))}),u=()=>{c(),l()};return r(u),u}function Ge(e){let t=T(),n=Z(t),i=T(),a=w(!1),o=J(),s=w(!1);O(s,e=>{o.value&&(o.value.scene.screenSpaceCameraController.enableRotate=!e)});let c=()=>{s.value=!0},l=(t,n,r)=>{e({event:{startPosition:n.clone(),endPosition:r.clone()},pick:t,dragging:a.value,lockCamera:c}),ne(()=>{!a.value&&s.value&&(s.value=!1)})},u=Q(y.LEFT_DOWN,e=>{a.value=!0,t.value=e.position.clone()}),d=Q(y.MOUSE_MOVE,U(({startPosition:e,endPosition:t})=>{i.value={startPosition:i.value?.endPosition.clone()||e.clone(),endPosition:t.clone()}},8,!1,!0));O([n,i],([e,t])=>{if(e&&t){let{startPosition:n,endPosition:r}=t;a.value&&l(e,n,r)}});let f=Q(y.LEFT_UP,e=>{a.value=!1,n.value&&i.value&&l(n.value,i.value.endPosition,e.position),t.value=void 0,i.value=void 0}),p=()=>{u(),d(),f()};return r(p),p}function Ke(e){let t=T(),n=Z(()=>t.value?.endPosition),r=(t,n,r,i)=>{e({event:{startPosition:n.clone(),endPosition:r.clone()},pick:t,hovering:i})};Q(y.MOUSE_MOVE,({startPosition:e,endPosition:n})=>{(!e.equals(t.value?.startPosition)||!n.equals(t.value?.endPosition))&&(t.value={startPosition:e.clone(),endPosition:n.clone()})}),O([n,t],([e,t])=>{if(e&&t){let{startPosition:n,endPosition:i}=t;r(e,n,i,!0)}}),O(n,(e,n)=>{if(n&&t.value){let{startPosition:e,endPosition:i}=t.value;r(n,e,i,!1)}})}const qe={LEFT_DOWN:y.LEFT_DOWN,LEFT_UP:y.LEFT_UP,LEFT_CLICK:y.LEFT_CLICK,LEFT_DOUBLE_CLICK:y.LEFT_DOUBLE_CLICK,RIGHT_DOWN:y.RIGHT_DOWN,RIGHT_UP:y.RIGHT_UP,RIGHT_CLICK:y.RIGHT_CLICK,MIDDLE_DOWN:y.MIDDLE_DOWN,MIDDLE_UP:y.MIDDLE_UP,MIDDLE_CLICK:y.MIDDLE_CLICK};function Je(e,t){let n=qe[e],r=J();Q(n,e=>{let n=e.position,i=r.value?.scene.pick(n);i&&n&&t({event:{position:n},pick:i})})}const $=Symbol(`GLOBAL_GRAPHIC_SYMBOL`),Ye=[`LEFT_DOWN`,`LEFT_UP`,`LEFT_CLICK`,`LEFT_DOUBLE_CLICK`,`RIGHT_DOWN`,`RIGHT_UP`,`RIGHT_CLICK`,`MIDDLE_DOWN`,`MIDDLE_UP`,`MIDDLE_CLICK`];function Xe(){let e=new WeakMap,t=new WeakMap,n=new WeakMap,r=(r,i,a)=>{let o=r===`global`?$:r;e?.get(o)?.get(i)?.delete(a),t?.get(o)?.get(i)?.delete(a),e?.get(o)?.get(i)?.size===0&&e.get(o).delete(i),e.get(o)?.size===0&&e.delete(o),t?.get(o)?.get(i)?.delete(a),t?.get(o)?.get(i)?.size===0&&t?.get(o)?.delete(i),t?.get(o)?.size===0&&t?.delete(o),n?.get(o)?.get(i)?.delete(a),n?.get(o)?.get(i)?.size===0&&n?.get(o)?.delete(i),n?.get(o)?.size===0&&n?.delete(o)},i=(i,a,o,s={})=>{let c=i===`global`?$:i;e.get(c)??e.set(c,new Map);let l=e.get(c);l.get(a)??l.set(a,new Set);let u=l.get(a);u.add(o);let{cursor:d=`pointer`,dragCursor:f}=s;if(P(d)){let e=F(d)?d:()=>d;t.get(c)??t.set(c,new Map),t.get(c).get(a)??t.get(c).set(a,new Map),t.get(c).get(a).set(o,e)}if(a===`DRAG`&&(f??=e=>e?.dragging?`crosshair`:void 0),P(f)){let e=F(f)?f:()=>f;n.get(c)??n.set(c,new Map),n.get(c).get(a)??n.get(c).set(a,new Map),n.get(c).get(a).set(o,e)}return()=>r(i,a,o)},a=(r,i)=>{let a=r===`global`?$:r;if(i===`all`){e.delete(a),t.delete(a),n.delete(a);return}e.get(a)?.delete(i),e.get(a)?.size===0&&e.delete(a),t?.get(a)?.delete(i),n?.get(a)?.delete(i),t?.get(a)?.size===0&&t?.delete(a),n?.get(a)?.size===0&&n?.delete(a)};for(let t of Ye)Je(t,n=>{let r=B(n.pick);r.concat($).forEach(r=>{e.get(r)?.get(t)?.forEach(e=>G(e)?.(n))})});let o=w(!1),s=J();return Ke(n=>{let r=B(n.pick).concat($);r.forEach(r=>{e.get(r)?.get(`HOVER`)?.forEach(e=>G(e)?.(n)),o.value||t.get(r)?.forEach(e=>{e.forEach(e=>{let t=n.hovering?G(e)(n):``;s.value?.canvas.style?.setProperty(`cursor`,t)})})})}),Ge(t=>{let r=B(t.pick).concat($);o.value=t.dragging,r.forEach(r=>{e.get(r)?.get(`DRAG`)?.forEach(e=>G(e)(t)),n.get(r)?.forEach(e=>{e.forEach(e=>{let n=t.dragging?G(e)(t):``;s.value?.canvas.style?.setProperty(`cursor`,n)})})})}),{addGraphicEvent:i,removeGraphicEvent:r,clearGraphicEvent:a}}function Ze(t,n={}){let{destroyOnRemove:r,collection:i,isActive:a=!0,evaluating:o}=n,s=e(()=>K(t),[],{evaluating:o}),c=J();return k(e=>{let t=D(a);if(t){let t=Array.isArray(s.value)?[...s.value]:[s.value],n=i??c.value?.imageryLayers;if(i?.isDestroyed())return;t.forEach(e=>{if(!e){console.warn(`ImageryLayer is undefined`);return}if(e?.isDestroyed()){console.warn(`ImageryLayer is destroyed`);return}n?.add(e)}),e(()=>{let e=D(r);t.forEach(t=>t&&n?.remove(t,e))})}}),s}function Qe(e={}){let{collection:t,destroyOnRemove:n}=e,r=J(),i=S(()=>D(t)??r.value?.imageryLayers),a=(e,t)=>{if(!i.value)throw Error(`collection is not defined`);return i.value.add(e,t),e},o=(e,t)=>!!i.value?.remove(e,t),{scope:s,add:c,remove:l,removeWhere:u,removeScope:d}=X(a,o,[n]);return{scope:s,add:c,remove:l,removeWhere:u,removeScope:d}}function $e(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>K(t),void 0,{evaluating:a}),s=J();return k(e=>{if(!s.value)return;let t=D(i);if(t){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r??s.value.scene.postProcessStages;t.forEach(e=>e&&n.add(e)),e(()=>{t.forEach(e=>e&&n.remove(e))})}}),o}function et(e={}){let{collection:t}=e,n=J(),r=S(()=>D(t)??n.value?.postProcessStages),i=e=>{if(!r.value)throw Error(`collection is not defined`);return r.value.add(e)},a=e=>!!r.value?.remove(e),{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}=X(i,a,[]);return{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}}function tt(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>K(t),void 0,{evaluating:a}),s=J();return k(e=>{let t=D(i);if(t){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r===`ground`?s.value?.scene.groundPrimitives:r??s.value?.scene.primitives;t.forEach(e=>e&&n?.add(e)),e(()=>{!n?.isDestroyed()&&t.forEach(e=>e&&n?.remove(e))})}}),o}function nt(e={}){let{collection:t}=e,n=J(),r=S(()=>D(t)??n.value?.scene.primitives),i=e=>{if(!r.value)throw Error(`collection is not defined`);return r.value.add(e)},a=e=>!!r.value?.remove(e),{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}=X(i,a,[]);return{scope:o,add:s,remove:c,removeWhere:l,removeScope:u}}const rt=[.01,.05,.1,.5,1,2,3,5,10,20,30,50,100,200,300,500,1e3,2e3,3e3,5e3,1e4,2e4,3e4,5e4,1e5,2e5,3e5,5e5,1e6,2e6,3e6,5e6,1e7,2e7,3e7,5e7].reverse();function it(e={}){let{maxPixel:t=80,delay:n=8}=e,r=S(()=>D(t)),i=J(),o=a(()=>i.value?.canvas),c=w(),l=async()=>{await ne();let e=i.value?.scene;if(!e)return;let t=e.camera.getPickRay(new u(Math.floor(o.width.value/2),o.height.value-1)),n=e.camera.getPickRay(new u(Math.floor(1+o.width.value/2),o.height.value-1));if(!t||!n)return;let r=e.globe.pick(t,e),a=e.globe.pick(n,e);if(!r||!a)return;let s=e.globe.ellipsoid.cartesianToCartographic(r),l=e.globe.ellipsoid.cartesianToCartographic(a),d=new h(s,l);c.value=d.surfaceDistance};s(i,()=>l()),q(()=>i.value?.camera.changed,U(l,n));let d=S(()=>{if(c.value)return rt.find(e=>c.value*r.value>e)}),f=S(()=>{if(d.value&&c.value){let e=d.value/c.value;return e}return 0}),p=S(()=>{if(d.value)return d.value>1e3?`${d.value/1e3||0}km`:`${d.value||0}m`});return{pixelDistance:ie(c),width:f,distance:d,distanceText:p}}function at(e,t={}){let{width:r=3,height:i=3,limit:a,throttled:o=8,isActive:s=!0}=t,c=J(),l=n(S(()=>D(e)),o,!1,!0),u=S(()=>{if(l.value&&D(s))return c.value?.scene.drillPick(l.value,D(a),D(r),D(i))});return u}export{j as CREATE_VIEWER_COLLECTION,A as CREATE_VIEWER_INJECTION_KEY,we as CesiumMaterial,Ee as addMaterialCache,le as arrayDiff,ye as assertError,ue as canvasCoordToCartesian,M as cartesianToCanvasCoord,be as cesiumEquals,Ae as createCesiumAttribute,je as createCesiumProperty,ke as createPropertyField,ce as createViewer,xe as degreesToDms,z as dmsDecode,R as dmsEncode,Se as dmsToDegrees,Te as getMaterialCache,_e as isArray,ve as isBase64,de as isBoolean,Ce as isCesiumConstant,P as isDef,ge as isElement,F as isFunction,fe as isNumber,me as isObject,I as isPromise,V as isProperty,pe as isString,he as isWindow,De as pickHitGraphic,B as resolvePick,U as throttle,W as toCartesian3,Me as toCartographic,L as toCoord,K as toPromiseValue,H as toProperty,Oe as toPropertyValue,G as tryRun,Ne as useCameraState,q as useCesiumEventListener,Re as useCesiumFps,X as useCollectionScope,ze as useDataSource,Be as useDataSourceScope,Ve as useElementOverlay,He as useEntity,Ue as useEntityScope,Xe as useGraphicEvent,Ze as useImageryLayer,Qe as useImageryLayerScope,$e as usePostProcessStage,et as usePostProcessStageScope,tt as usePrimitive,nt as usePrimitiveScope,it as useScaleBar,at as useSceneDrillPick,Z as useScenePick,Q as useScreenSpaceEventHandler,J as useViewer};
1
+ import{computedAsync as e,refThrottled as t,tryOnScopeDispose as n,useElementBounding as r,useElementSize as i,useMutationObserver as a,watchImmediate as o,watchThrottled as s}from"@vueuse/core";import{Cartesian2 as c,EllipsoidGeodesic as l,ScreenSpaceEventHandler as u,ScreenSpaceEventType as d,Viewer as f}from"cesium";import{computed as p,getCurrentScope as m,inject as h,markRaw as g,nextTick as _,provide as v,readonly as y,ref as b,shallowReactive as x,shallowReadonly as S,shallowRef as C,toRaw as w,toRef as T,toValue as E,watch as D,watchEffect as O}from"vue";import{cartesianToCanvasCoord as ee,isDef as k,isFunction as A,isPromise as j,resolvePick as M,throttle as N,toCartesian3 as P,tryRun as F}from"@vesium/shared";export*from"@vesium/shared";const I=Symbol(`CREATE_VIEWER_INJECTION_KEY`),L=new WeakMap;function te(...e){let t=C(),r=S(t);v(I,r);let i=m();i&&L.set(i,r);let o=p(()=>t.value?.canvas);return a(document?.body,()=>{o.value&&!document?.body.contains(o.value)&&(t.value=void 0)},{childList:!0,subtree:!0}),O(n=>{let[r,i]=e,a=w(E(r));a instanceof f?t.value=g(a):a?(t.value=new f(a,i),n(()=>!t.value?.isDestroyed()&&t.value?.destroy())):t.value=void 0}),n(()=>{t.value=void 0}),p(()=>t.value?.isDestroyed()?void 0:t.value)}async function R(e,t={}){try{let{raw:n=!0}=t,r;if(A(e))r=await e();else{let t=E(e);r=j(t)?await t:t}return n?w(r):r}catch(e){throw console.error(e),e}}function z(e,t,r={}){let i=T(r.isActive??!0),a=O(n=>{let r=E(e),a=Array.isArray(r)?r:[r];if(a&&a.length&&i.value){let e=a.map(e=>{let n=E(e);return n?.addEventListener(t,n)});n(()=>e.forEach(e=>e?.()))}});return n(a.stop),a.stop}function B(){let e=m(),t=e?L.get(e):void 0;if(t)return t;{let e=h(I);if(!e)throw Error("The `Viewer` instance injected by `createViewer` was not found in the current component or its ancestor components. Have you called `createViewer`?");return e}}function ne(e={}){let n=e.camera;if(!n){let e=B();n=()=>e.value?.scene.camera}let r=p(()=>E(n)),i=p(()=>{let t=E(e.event)||`changed`;return r.value?.[t]}),a=t(C(Symbol(`camera change`)),e.delay??8,!0,!1),o=()=>{a.value=Symbol(`camera change`)};return D(r,()=>o()),z(i,()=>o()),{camera:r,position:p(()=>a.value?r.value?.position?.clone():void 0),direction:p(()=>a.value?r.value?.direction?.clone():void 0),up:p(()=>a.value?r.value?.up?.clone():void 0),right:p(()=>a.value?r.value?.right?.clone():void 0),positionCartographic:p(()=>a.value?r.value?.positionCartographic?.clone():void 0),positionWC:p(()=>a.value?r.value?.positionWC?.clone():void 0),directionWC:p(()=>a.value?r.value?.directionWC?.clone():void 0),upWC:p(()=>a.value?r.value?.directionWC?.clone():void 0),rightWC:p(()=>a.value?r.value?.directionWC?.clone():void 0),viewRectangle:p(()=>a.value?r.value?.computeViewRectangle():void 0),heading:p(()=>a.value?r.value?.heading:void 0),pitch:p(()=>a.value?r.value?.pitch:void 0),roll:p(()=>a.value?r.value?.roll:void 0),level:p(()=>a.value&&r.value?.positionCartographic?.height?re(r.value.positionCartographic.height):void 0)}}const V=-40467.74;function re(e){return V+(40487.57-V)/(1+(e/91610.74)**7096758e-11)}function H(e={}){let{delay:t=100}=e,n=B(),r=C(performance.now());z(()=>n.value?.scene.postRender,()=>r.value=performance.now());let i=b(0);s(r,(e,t)=>{i.value=e-t},{throttle:t});let a=p(()=>1e3/i.value);return{interval:y(i),fps:a}}function U(e){let{addEffect:t,removeEffect:r,removeScopeArgs:i}=e,a=x(new Set),o=(e,...n)=>{let r=t(e,...n);return j(r)?new Promise((e,t)=>{r.then(t=>{a.add(t),e(t)}).catch(e=>t(e))}):(a.add(r),r)},s=(e,...t)=>(a.delete(e),r(e,...t)),c=(e,...t)=>{a.forEach(n=>{e(n)&&s(n,...t)})},l=(...e)=>{a.forEach(t=>{s(t,...e)})};return n(()=>l(...i)),{scope:S(a),add:o,remove:s,removeWhere:c,removeScope:l}}function W(t,n={}){let{destroyOnRemove:r,collection:i,isActive:a=!0,evaluating:o}=n,s=e(()=>R(t),void 0,{evaluating:o}),c=B();return O(e=>{if(E(a)){let t=Array.isArray(s.value)?[...s.value]:[s.value],n=i??c.value?.dataSources;t.forEach(e=>e&&n?.add(e)),e(()=>{let e=E(r);!n?.isDestroyed()&&t.forEach(t=>t&&n?.remove(t,e))})}}),s}function G(e={}){let{collection:t,destroyOnRemove:n}=e,r=B(),i=p(()=>E(t)??r.value?.dataSources);return U({addEffect(e){if(!i.value)throw Error(`collection is not defined`);return j(e)?new Promise((t,n)=>{e.then(e=>{i.value.add(e),t(e)}).catch(e=>n(e))}):(i.value.add(e),e)},removeEffect(e,t){return!!i.value?.remove(e,t)},removeScopeArgs:[n]})}function K(e,t,n={}){let{referenceWindow:i,horizontal:a=`center`,vertical:o=`bottom`,offset:s={x:0,y:0}}=n,l=p(()=>P(E(t))),u=B(),d=C();z(()=>u.value?.scene.postRender,()=>{if(u.value?.scene)if(!l.value)d.value=void 0;else{let e=ee(l.value,u.value.scene);d.value=c.equals(e,d.value)?d.value:e}});let f=r(()=>u.value?.canvas.parentElement),m=r(e),h=p(()=>{let e=E(s),t=e?.x??0,n=E(a);n===`center`?t-=m.width.value/2:n===`right`&&(t-=m.width.value);let r=e?.y??0,i=E(o);return i===`center`?r-=m.height.value/2:i===`bottom`&&(r-=m.height.value),{x:t,y:r}}),g=p(()=>{let e={x:d.value?.x??0,y:d.value?.y??0};return E(i)&&(e.x+=f.x.value,e.y+=f.y.value),{x:h.value.x+e.x,y:h.value.y+e.y}}),_=p(()=>g.value.x),v=p(()=>g.value.y),y=p(()=>({left:`${_.value?.toFixed(2)}px`,top:`${v.value?.toFixed(2)}px`}));return O(()=>{let t=E(e);t&&E(n.applyStyle??!0)&&(t.style?.setProperty?.(`left`,y.value.left),t.style?.setProperty?.(`top`,y.value.top))}),{x:_,y:v,style:y}}function q(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>R(t),[],{evaluating:a}),s=B();return O(e=>{if(E(i)){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r??s.value?.entities;t.forEach(e=>e&&n?.add(e)),e(()=>{t.forEach(e=>e&&n?.remove(e))})}}),o}function J(e={}){let{collection:t}=e,n=B(),r=p(()=>E(t)??n.value?.entities);return U({addEffect(e){if(!r.value)throw Error(`collection is not defined`);return j(e)?new Promise((t,n)=>{e.then(e=>{r.value.add(e),t(e)}).catch(e=>n(e))}):(r.value.add(e),e)},removeEffect(e){return!!r.value?.remove(e)},removeScopeArgs:[]})}const Y=new WeakMap;function X(e,n={}){let{width:r=3,height:i=3,throttled:a=8}=n,o=T(n.isActive??!0),s=B(),c=t(p(()=>E(e)?.clone()),a,!1,!0),l=C();return O(()=>{if(s.value&&c.value&&o.value){let e=Y.get(s.value);e&&e[0].equals(c.value)?l.value=e[1]:(Y.set(s.value,[c.value.clone(),l.value]),l.value=s.value?.scene.pick(c.value,E(r),E(i)))}}),l}function Z(e,t,r={}){let{modifier:i}=r,a=B(),o=T(r.isActive??!0),s=p(()=>{if(a.value?.cesiumWidget?.canvas)return new u(a.value.cesiumWidget.canvas)}),c=D(s,(e,t)=>{a.value?.cesiumWidget&&t?.destroy()}),l=O(n=>{let r=E(e),a=E(i),c=E(s);!c||!o.value||!t||k(r)&&(c.setInputAction(t,r,a),n(()=>c.removeInputAction(r,a)))}),d=()=>{c(),l()};return n(d),d}function ie(e){let t=C(),r=X(t),i=C(),a=b(!1),o=B(),s=b(!1);D(s,e=>{o.value&&(o.value.scene.screenSpaceCameraController.enableRotate=!e)});let c=()=>{s.value=!0},l=(t,n,r)=>{e({event:{startPosition:n.clone(),endPosition:r.clone()},pick:t,dragging:a.value,lockCamera:c}),_(()=>{!a.value&&s.value&&(s.value=!1)})},u=Z(d.LEFT_DOWN,e=>{a.value=!0,t.value=e.position.clone()}),f=Z(d.MOUSE_MOVE,N(({startPosition:e,endPosition:t})=>{i.value={startPosition:i.value?.endPosition.clone()||e.clone(),endPosition:t.clone()}},8,!1,!0));D([r,i],([e,t])=>{if(e&&t){let{startPosition:n,endPosition:r}=t;a.value&&l(e,n,r)}});let p=Z(d.LEFT_UP,e=>{a.value=!1,r.value&&i.value&&l(r.value,i.value.endPosition,e.position),t.value=void 0,i.value=void 0}),m=()=>{u(),f(),p()};return n(m),m}function ae(e){let t=C(),n=X(()=>t.value?.endPosition),r=(t,n,r,i)=>{e({event:{startPosition:n.clone(),endPosition:r.clone()},pick:t,hovering:i})};Z(d.MOUSE_MOVE,({startPosition:e,endPosition:n})=>{(!e.equals(t.value?.startPosition)||!n.equals(t.value?.endPosition))&&(t.value={startPosition:e.clone(),endPosition:n.clone()})}),D([n,t],([e,t])=>{if(e&&t){let{startPosition:n,endPosition:i}=t;r(e,n,i,!0)}}),D(n,(e,n)=>{if(n&&t.value){let{startPosition:e,endPosition:i}=t.value;r(n,e,i,!1)}})}const oe={LEFT_DOWN:d.LEFT_DOWN,LEFT_UP:d.LEFT_UP,LEFT_CLICK:d.LEFT_CLICK,LEFT_DOUBLE_CLICK:d.LEFT_DOUBLE_CLICK,RIGHT_DOWN:d.RIGHT_DOWN,RIGHT_UP:d.RIGHT_UP,RIGHT_CLICK:d.RIGHT_CLICK,MIDDLE_DOWN:d.MIDDLE_DOWN,MIDDLE_UP:d.MIDDLE_UP,MIDDLE_CLICK:d.MIDDLE_CLICK};function se(e,t){let n=oe[e],r=B();Z(n,e=>{let n=e.position,i=r.value?.scene.pick(n);i&&n&&t({event:{position:n},pick:i})})}const Q=Symbol(`GLOBAL_GRAPHIC_SYMBOL`),$=[`LEFT_DOWN`,`LEFT_UP`,`LEFT_CLICK`,`LEFT_DOUBLE_CLICK`,`RIGHT_DOWN`,`RIGHT_UP`,`RIGHT_CLICK`,`MIDDLE_DOWN`,`MIDDLE_UP`,`MIDDLE_CLICK`];function ce(){let e=new WeakMap,t=new WeakMap,n=new WeakMap,r=(r,i,a)=>{let o=r===`global`?Q:r;e?.get(o)?.get(i)?.delete(a),t?.get(o)?.get(i)?.delete(a),e?.get(o)?.get(i)?.size===0&&e.get(o).delete(i),e.get(o)?.size===0&&e.delete(o),t?.get(o)?.get(i)?.delete(a),t?.get(o)?.get(i)?.size===0&&t?.get(o)?.delete(i),t?.get(o)?.size===0&&t?.delete(o),n?.get(o)?.get(i)?.delete(a),n?.get(o)?.get(i)?.size===0&&n?.get(o)?.delete(i),n?.get(o)?.size===0&&n?.delete(o)},i=(i,a,o,s={})=>{let c=i===`global`?Q:i;e.get(c)??e.set(c,new Map);let l=e.get(c);l.get(a)??l.set(a,new Set),l.get(a).add(o);let{cursor:u=`pointer`,dragCursor:d}=s;if(k(u)){let e=A(u)?u:()=>u;t.get(c)??t.set(c,new Map),t.get(c).get(a)??t.get(c).set(a,new Map),t.get(c).get(a).set(o,e)}if(a===`DRAG`&&(d??=(e=>e?.dragging?`crosshair`:void 0)),k(d)){let e=A(d)?d:()=>d;n.get(c)??n.set(c,new Map),n.get(c).get(a)??n.get(c).set(a,new Map),n.get(c).get(a).set(o,e)}return()=>r(i,a,o)},a=(r,i)=>{let a=r===`global`?Q:r;if(i===`all`){e.delete(a),t.delete(a),n.delete(a);return}e.get(a)?.delete(i),e.get(a)?.size===0&&e.delete(a),t?.get(a)?.delete(i),n?.get(a)?.delete(i),t?.get(a)?.size===0&&t?.delete(a),n?.get(a)?.size===0&&n?.delete(a)};for(let t of $)se(t,n=>{M(n.pick).concat(Q).forEach(r=>{e.get(r)?.get(t)?.forEach(e=>F(e)?.(n))})});let o=b(!1),s=B();return ae(n=>{M(n.pick).concat(Q).forEach(r=>{e.get(r)?.get(`HOVER`)?.forEach(e=>F(e)?.(n)),o.value||t.get(r)?.forEach(e=>{e.forEach(e=>{let t=n.hovering?F(e)(n):``;s.value?.canvas.style?.setProperty(`cursor`,t)})})})}),ie(t=>{let r=M(t.pick).concat(Q);o.value=t.dragging,r.forEach(r=>{e.get(r)?.get(`DRAG`)?.forEach(e=>F(e)(t)),n.get(r)?.forEach(e=>{e.forEach(e=>{let n=t.dragging?F(e)(t):``;s.value?.canvas.style?.setProperty(`cursor`,n)})})})}),{add:i,remove:r,clear:a}}function le(t,n={}){let{destroyOnRemove:r,collection:i,isActive:a=!0,evaluating:o}=n,s=e(()=>R(t),[],{evaluating:o}),c=B();return O(e=>{if(E(a)){let t=Array.isArray(s.value)?[...s.value]:[s.value],n=i??c.value?.imageryLayers;if(i?.isDestroyed())return;t.forEach(e=>{if(!e){console.warn(`ImageryLayer is undefined`);return}if(e?.isDestroyed()){console.warn(`ImageryLayer is destroyed`);return}n?.add(e)}),e(()=>{let e=E(r);t.forEach(t=>t&&n?.remove(t,e))})}}),s}function ue(e={}){let{collection:t,destroyOnRemove:n}=e,r=B(),i=p(()=>E(t)??r.value?.imageryLayers);return U({addEffect(e,t){if(!i.value)throw Error(`collection is not defined`);return j(e)?new Promise((n,r)=>{e.then(e=>{i.value.add(e,t),n(e)}).catch(e=>r(e))}):(i.value.add(e,t),e)},removeEffect(e,t){return!!i.value?.remove(e,t)},removeScopeArgs:[n]})}function de(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>R(t),void 0,{evaluating:a}),s=B();return O(e=>{if(s.value&&E(i)){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r??s.value.scene.postProcessStages;t.forEach(e=>e&&n.add(e)),e(()=>{t.forEach(e=>e&&n.remove(e))})}}),o}function fe(e={}){let{collection:t}=e,n=B(),r=p(()=>E(t)??n.value?.postProcessStages);return U({addEffect(e){if(!r.value)throw Error(`collection is not defined`);return j(e)?new Promise((t,n)=>{e.then(e=>{r.value.add(e),t(e)}).catch(e=>n(e))}):r.value.add(e)},removeEffect(e,...t){return!!r.value?.remove(e,...t)},removeScopeArgs:[]})}function pe(t,n={}){let{collection:r,isActive:i=!0,evaluating:a}=n,o=e(()=>R(t),void 0,{evaluating:a}),s=B();return O(e=>{if(E(i)){let t=Array.isArray(o.value)?[...o.value]:[o.value],n=r===`ground`?s.value?.scene.groundPrimitives:r??s.value?.scene.primitives;t.forEach(e=>e&&n?.add(e)),e(()=>{!n?.isDestroyed()&&t.forEach(e=>e&&n?.remove(e))})}}),o}function me(e={}){let{collection:t}=e,n=B(),r=p(()=>{let e=E(t);return e===`ground`?n.value?.scene?.groundPrimitives:e||n.value?.scene.primitives}),{scope:i,add:a,remove:o,removeWhere:s,removeScope:c}=U({addEffect(e,...t){if(!r.value)throw Error(`collection is not defined`);return j(e)?new Promise((n,i)=>{e.then(e=>n(r.value.add(e,...t))).catch(e=>i(e))}):r.value.add(e,...t)},removeEffect(e){return!!r.value?.remove(e)},removeScopeArgs:[]});return{scope:i,add:a,remove:o,removeWhere:s,removeScope:c}}const he=[.01,.05,.1,.5,1,2,3,5,10,20,30,50,100,200,300,500,1e3,2e3,3e3,5e3,1e4,2e4,3e4,5e4,1e5,2e5,3e5,5e5,1e6,2e6,3e6,5e6,1e7,2e7,3e7,5e7].reverse();function ge(e={}){let{maxPixel:t=80,delay:n=8}=e,r=p(()=>E(t)),a=B(),s=i(()=>a.value?.canvas),u=b(),d=async()=>{await _();let e=a.value?.scene;if(!e)return;let t=e.camera.getPickRay(new c(Math.floor(s.width.value/2),s.height.value-1)),n=e.camera.getPickRay(new c(Math.floor(1+s.width.value/2),s.height.value-1));if(!t||!n)return;let r=e.globe.pick(t,e),i=e.globe.pick(n,e);!r||!i||(u.value=new l(e.globe.ellipsoid.cartesianToCartographic(r),e.globe.ellipsoid.cartesianToCartographic(i)).surfaceDistance)};o(a,()=>d()),z(()=>a.value?.camera.changed,N(d,n));let f=p(()=>{if(u.value)return he.find(e=>u.value*r.value>e)}),m=p(()=>f.value&&u.value?f.value/u.value:0),h=p(()=>{if(f.value)return f.value>1e3?`${f.value/1e3||0}km`:`${f.value||0}m`});return{pixelDistance:y(u),width:m,distance:f,distanceText:h}}function _e(e,n={}){let{width:r=3,height:i=3,limit:a,throttled:o=8,isActive:s=!0}=n,c=B(),l=t(p(()=>E(e)),o,!1,!0);return p(()=>{if(l.value&&E(s))return c.value?.scene.drillPick(l.value,E(a),E(r),E(i))})}export{L as CREATE_VIEWER_COLLECTION,I as CREATE_VIEWER_INJECTION_KEY,te as createViewer,R as toPromiseValue,ne as useCameraState,z as useCesiumEventListener,H as useCesiumFps,U as useCollectionScope,W as useDataSource,G as useDataSourceScope,K as useElementOverlay,q as useEntity,J as useEntityScope,ce as useGraphicEvent,le as useImageryLayer,ue as useImageryLayerScope,de as usePostProcessStage,fe as usePostProcessStageScope,pe as usePrimitive,me as usePrimitiveScope,ge as useScaleBar,_e as useSceneDrillPick,X as useScenePick,Z as useScreenSpaceEventHandler,B as useViewer};
2
2
  //# sourceMappingURL=index.min.mjs.map