vesium 1.0.1-beta.49 → 1.0.1-beta.51

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