@vesium/plot 1.0.1-beta.54 → 1.0.1-beta.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +46 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.iife.js +46 -11
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +36 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
package/dist/index.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`cesium`);c=s(c);let l=require(`vesium`);l=s(l);let u=require(`@vueuse/core`);u=s(u);let d=require(`vue`);d=s(d);let f=require(`@vesium/geometry`);f=s(f);let p=require(`@turf/turf`);p=s(p);var m=class e{constructor(e){this.type=e.type,this.complete=e.complete,this.allowManualComplete=e.allowManualComplete,this.definingCursor=e.definingCursor??`crosshair`,this.skeletons=e.skeletons?.map(e=>e())??[],this.initRender=e.initRender,this.render=e.render}type;complete;allowManualComplete;definingCursor;skeletons;initRender;render;static _record=new Map;static getCacheTypes(){return[...this._record.keys()]}static getCache(t){return e._record.get(t)}static setCache(t){(0,l.assertError)(!t.type,"`scheme.type` is required"),e._record.set(t.type,t)}static resolve(t){if(typeof t==`string`){let n=e.getCache(t);return(0,u.assert)(!!n,`scheme ${t} not found`),n}else if(t instanceof e)return t;else return new e(t)}};let h=function(e){return e[e.NEAR=0]=`NEAR`,e[e.CYCLE=1]=`CYCLE`,e[e.STRICT=2]=`STRICT`,e}({});const g=(e,t,n,r)=>r===0?{time:e,positions:t.positions?.map(e=>e.clone()),derivative:t.derivative}:r===1?{time:e,positions:n.positions?.map(e=>e.clone()),derivative:t.derivative}:{time:e,positions:n.positions?.map((e,n)=>{let i=t.positions?.[n];return i?c.Cartesian3.lerp(i,e,r,new c.Cartesian3):e}),derivative:t.derivative};var _=class e{constructor(e){this.interpolationAlgorithm=e?.interpolationAlgorithm,this.strategy=e?.strategy??h.NEAR,e?.packables?.forEach(e=>this.setSample(e)),this._times.length||this.setSample({time:new c.JulianDate(0,0),positions:[],derivative:void 0})}static defaultInterpolationAlgorithm=g;strategy;interpolationAlgorithm;_times=[];_sampleds=[];_derivatives=[];get isConstant(){return this._times.length===0}_definitionChanged=new c.Event;get definitionChanged(){return this._definitionChanged}getTimes(){return this._times.map(e=>e.clone())}getIndexScope(e){if(!this._times.length)return;let t=this._times[0],n=this._times[this._times.length-1];if(c.JulianDate.lessThan(e,t)||c.JulianDate.greaterThan(e,n))switch(this.strategy){case h.STRICT:return;case h.NEAR:e=c.JulianDate.lessThan(e,this._times[0])?this._times[0].clone():this._times[this._times.length-1].clone();break;case h.CYCLE:{let t=c.JulianDate.toDate(this._times[0]).getTime(),n=c.JulianDate.toDate(this._times[this._times.length-1]).getTime()-t,r=(c.JulianDate.toDate(e).getTime()-t)%n,i=new Date(t+r);e=c.JulianDate.fromDate(i);break}}let r=this._times.findIndex(t=>c.JulianDate.lessThanOrEquals(e,t)),i=Math.min(r,this._times.length-1),a=c.JulianDate.toDate(this._times[r]).getTime(),o=c.JulianDate.toDate(this._times[i]).getTime();return{prevIndex:r,nextIndex:i,proportion:(c.JulianDate.toDate(e).getTime()-a)/(o-a)||0}}getValue(t,n){if(n??={time:t,positions:[]},Object.assign(n,{time:t?.clone(),positions:[],derivative:void 0}),!t)return n.time=this._times[0].clone(),n.positions=this._sampleds[0]?.map(e=>e.clone(e)),n.derivative=this._derivatives[0],n;let r=this.getIndexScope(t);if(!r)return n;n.time=t;let{prevIndex:i,nextIndex:a,proportion:o}=r,s={time:this._times[i],positions:this._sampleds[i],derivative:this._derivatives[i]},c={time:this._times[a],positions:this._sampleds[a],derivative:this._derivatives[a]},l=(this.interpolationAlgorithm||e.defaultInterpolationAlgorithm)(t,s,c,o);return Object.assign(n,l),n}setSample(e){let t=e.time?.clone()??this._times[0].clone(),n=e.positions?.map(e=>e.clone())??[],r=e.derivative,i=this._times.findIndex(e=>c.JulianDate.equals(t,e));i===-1?this._times.length===0?(this._times[0]=t,this._sampleds[0]=n,this._derivatives[0]=e.derivative):c.JulianDate.lessThan(t,this._times[0])?(this._times.splice(0,0,t),this._sampleds.splice(0,0,n),this._derivatives.splice(0,0,r)):c.JulianDate.greaterThan(t,this._times[this._times.length-1])&&(this._times.push(t),this._sampleds.push(n),this._derivatives.push(r)):(this._times[i]=t,this._sampleds[i]=n,this._derivatives[i]=e.derivative),this.definitionChanged.raiseEvent(this)}setSamples(e){e.forEach(e=>this.setSample(e))}removeSample(e){let t=this._times.findIndex(t=>t.equals(e));return t!==-1&&(this._sampleds.splice(t,1),this._derivatives.splice(t,1),this._times.splice(t,1).length)?(this._definitionChanged.raiseEvent(this),!0):!1}removeSamples(e){for(let t=0;t<this._times.length;t++){let n=this._times[t];c.TimeInterval.contains(e,n)&&this.removeSample(n)}}equals(e){return e===this}},v=class{constructor(e){let{id:t,disabled:n=!1,sampled:r}=e;this._id=t||(0,c.createGuid)(),this._scheme=m.resolve(e.scheme),this._definitionChanged=new c.Event,this._defining=!0,this._disabled=n,this._sampled=r instanceof _?r:new _(r),this._sampled.definitionChanged.addEventListener(e=>this._definitionChanged.raiseEvent(this,`sampled`,e,e),this);let i=this._scheme.initRender?.()??{};this._entities=[...i.entities??[]],this._primitives=[...i.primitives??[]],this._groundPrimitives=[...i.groundPrimitives??[]],this._skeletons=[]}_id;get id(){return this._id}_scheme;get scheme(){return this._scheme}_definitionChanged;get definitionChanged(){return this._definitionChanged}_defining;get defining(){return this._defining}static setDefining(e,t){e._defining!==t&&(e._definitionChanged.raiseEvent(e,`defining`,t,e._defining),e._defining=t)}_disabled;get disabled(){return this._disabled}set disabled(e){this.disabled=e}_sampled;get sampled(){return this._sampled}_entities;get entities(){return this._entities}set entities(e){this._definitionChanged.raiseEvent(this,`entities`,e,this._entities),this._entities=e}_primitives;get primitives(){return this._primitives}set primitives(e){this._definitionChanged.raiseEvent(this,`primitives`,e,this._primitives),this._primitives=e}_groundPrimitives;get groundPrimitives(){return this._groundPrimitives}set groundPrimitives(e){this._definitionChanged.raiseEvent(this,`groundPrimitives`,e,this._groundPrimitives),this._groundPrimitives=e}_skeletons;get skeletons(){return this._skeletons}set skeletons(e){this._definitionChanged.raiseEvent(this,`skeletons`,e,this._skeletons),this._skeletons=e}};let y=function(e){return e[e.IDLE=0]=`IDLE`,e[e.HOVER=1]=`HOVER`,e[e.ACTIVE=2]=`ACTIVE`,e}({});var b=class extends c.Entity{constructor(e){super(e)}};function x(e,t,n){let r=(0,l.useViewer)(),i=(0,l.usePrimitive)(new c.PrimitiveCollection),a=(0,l.usePrimitive)(new c.PrimitiveCollection,{collection:`ground`}),o=(0,l.useDataSource)(new c.CustomDataSource),s=(0,l.useEntityScope)({collection:()=>o.value.entities}),f=(0,l.usePrimitiveScope)({collection:()=>i.value}),p=(0,l.usePrimitiveScope)({collection:()=>a.value}),m=(0,d.shallowRef)();(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.MOUSE_MOVE,e=>{m.value=(0,l.canvasCoordToCartesian)(e?.endPosition,r.value.scene)}),(0,u.watchArray)(e,(e,t,n,r=[])=>{r.forEach(e=>{s.removeWhere(t=>e.entities.includes(t)),f.removeWhere(t=>e.primitives.includes(t)),p.removeWhere(t=>e.groundPrimitives.includes(t))}),n.forEach(e=>{e.entities.forEach(e=>s.add(e)),e.primitives.forEach(e=>f.add(e)),e.groundPrimitives.forEach(e=>p.add(e))})},{immediate:!0,flush:`post`}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t,n,r)=>{if(t===`entities`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>s.add(e)),t.forEach(e=>s.remove(e))}else if(t===`primitives`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>f.add(e)),t.forEach(e=>f.remove(e))}else if(t===`groundPrimitives`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>p.add(e)),t.forEach(e=>p.remove(e))}});let h=async e=>{await(0,d.nextTick)();let t=e.sampled.getValue(n()),r=e.defining?m.value:void 0,i=await e.scheme.render?.({packable:t,mouse:r,defining:e.defining,previous:{entities:e.entities,primitives:e.primitives,groundPrimitives:e.groundPrimitives},getPositions(){let e=t.positions;return r&&e.push(r),e}});e.entities=i?.entities??[],e.primitives=i?.primitives??[],e.groundPrimitives=i?.groundPrimitives??[]};return(0,d.watch)(t,(e,t)=>{t&&h(t)}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t)=>{[`disabled`,`defining`,`scheme`,`sampled`,`time`].includes(t)&&h(e)}),(0,d.watch)(m,()=>{e.value.forEach(e=>e.defining&&h(e))}),{primitives:(0,d.computed)(()=>Array.from(f.scope)),groundPrimitives:(0,d.computed)(()=>Array.from(f.scope)),entities:(0,d.computed)(()=>Array.from(s.scope))}}function S(e,t){let n=(0,l.useViewer)(),r=(0,d.ref)(!1),i=(0,d.computed)(()=>e.value?.sampled.getValue(t()));(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_CLICK,async t=>{if(await(0,u.promiseTimeout)(1),!e.value||!i.value||r.value)return;let{scheme:a,defining:o,sampled:s}=e.value;if(!o)return;let c=(0,l.canvasCoordToCartesian)(t.position,n.value.scene);c&&(i.value.positions??=[],i.value.positions.push(c),s.setSample(i.value),a.complete?.(i.value)&&v.setDefining(e.value,!1))}),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_DOUBLE_CLICK,async t=>{if(!e.value||!i.value)return;r.value=!0,await(0,u.promiseTimeout)(2),r.value=!1;let{scheme:a,defining:o}=e.value;o&&(0,l.canvasCoordToCartesian)(t.position,n.value.scene)&&a.allowManualComplete?.(i.value)&&v.setDefining(e.value,!1)}),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.RIGHT_CLICK,async()=>{if(!e.value||!i.value)return;let{defining:t,sampled:n}=e.value;t&&(i.value.positions??=[],i.value.positions.length!==0&&(i.value.positions.splice(i.value.positions.length-1,1),n.setSample(i.value)))});let a=(0,d.ref)(),o=()=>{if(!e.value?.defining)a.value&&(a.value=void 0,n.value.container.parentElement.style.removeProperty(`cursor`));else{let t=e.value.scheme.definingCursor;a.value=(0,l.isFunction)(t)?t(i.value):t,a.value&&n.value?.container.parentElement.style.setProperty(`cursor`,a.value)}};(0,l.useCesiumEventListener)(()=>e.value?.definitionChanged,(e,t)=>{(t===`defining`||t===`sampled`)&&o()}),(0,d.watch)(e,()=>o())}function C(e,t,n){let r=(0,l.useViewer)(),i=(0,l.useDataSource)(new c.CustomDataSource),a=(0,l.useEntityScope)({collection:()=>i.value.entities}),o=(0,d.shallowRef)(),s=(0,d.shallowRef)(),f=e=>e?s.value?.id===e.id?y.ACTIVE:o.value?.id===e.id?y.HOVER:y.IDLE:y.IDLE,p=(e,r)=>{let i=e.skeletons,a=[];if(r||e.disabled)e.skeletons=[];else{let r=e.sampled.getValue(n()),o=e.defining,s=t.value===e;e.scheme.skeletons.forEach(t=>{if((0,l.isFunction)(t.disabled)?t.disabled({active:s,defining:o}):t.disabled)return;let n=t.format?.(r)??r?.positions??[];n.forEach((c,l)=>{let u=i.find(e=>e.index===l&&e.skeleton===t),d=t.render?.({defining:o,active:s,index:l,packable:r,positions:n,position:c,action:f(u)}),p=new b(d??{});u?p.propertyNames.forEach(e=>{e!==`id`&&(u[e]=p[e])}):u=p,u.plot=e,u.skeleton=t,u.index=l,a.push(u)})})}e.skeletons=a},m=(0,l.useGraphicEvent)();return(0,d.watchEffect)(e=>{e(m.add(`global`,`DRAG`,({event:e,pick:i,dragging:o,lockCamera:c})=>{if(i.id instanceof b&&a.scope.has(i.id)){let a=i.id,l=a.plot;if(l.defining)return;s.value=a;let u=a.skeleton,d=a.index,f=l.sampled.getValue(n());u.onDrag?.({viewer:r.value,sampled:l.sampled,packable:f,active:t.value===l,index:d,event:e,dragging:o,lockCamera:c})}else s.value=void 0},{cursor:({pick:e})=>{if(!t.value?.defining&&a.scope.has(e.id)){let t=e.id.skeleton;return(0,l.isFunction)(t?.cursor)?t.cursor(e):(0,d.toValue)(t?.cursor)}},dragCursor:({pick:e})=>{if(!t.value?.defining&&a.scope.has(e.id)){let t=e.id.skeleton;return(0,l.isFunction)(t?.dragCursor)?t.dragCursor(e):(0,d.toValue)(t?.dragCursor)}}}))}),(0,u.onKeyStroke)(e=>{if(s.value){let t=s.value,i=t.plot,a=t.skeleton,o=t.index,c=i.sampled.getValue(n());a.onKeyPressed?.({viewer:r.value,sampled:i.sampled,packable:c,index:o,keyEvent:e})}}),(0,d.watchEffect)(e=>{e(m.add(`global`,`HOVER`,({hovering:e,pick:t})=>{e&&t.id instanceof b&&a.scope.has(t.id)?o.value=t.id:o.value=void 0}))}),(0,d.watchEffect)(e=>{e(m.add(`global`,`LEFT_CLICK`,({event:e,pick:i})=>{if(i.id instanceof b&&a.scope.has(i.id)){let a=i.id;s.value=a;let o=a.plot,c=a.skeleton,l=a.index,u=o.sampled.getValue(n());c.onLeftClick?.({viewer:r.value,sampled:o.sampled,packable:u,active:t.value===o,defining:o.defining,index:l,event:e})}else s.value=void 0}))}),(0,u.watchArray)(e,(e,t,n,r=[])=>{n.forEach(e=>p(e)),r.forEach(e=>p(e,!0))}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t,n,r)=>{if([`disabled`,`defining`,`scheme`,`sampled`,`time`].includes(t))(0,d.nextTick)(()=>p(e));else if(t===`skeletons`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>a.add(e)),t.forEach(e=>a.remove(e))}}),(0,d.watch)(t,(e,t)=>{e&&p(e),t&&p(t)}),{dataSource:i}}function w(e){let t=e?.time||(0,d.shallowRef)(),n=(0,l.useViewer)(),r=()=>t.value?.clone()||new c.JulianDate(0,0),i=(0,d.shallowReactive)(new Set),a=(0,d.computed)(()=>Array.from(i)),o=(0,d.shallowRef)(),s=(0,d.shallowRef)();(0,l.useCesiumEventListener)([()=>o.value?.sampled.definitionChanged],()=>{s.value=o.value?.sampled.getValue(r())}),S(o,r),x(a,o,r),C(a,o,r),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_CLICK,e=>{if(o.value?.defining)return;let t=n.value?.scene.pick(e.position.clone());if(!(t?.id?.plot instanceof v)){if(!t){o.value=void 0;return}o.value=a.value.find(e=>(0,l.pickHitGraphic)(t,[...e.entities,...e.primitives,...e.groundPrimitives]))}});let u,f;return(0,d.watch)(o,(e,t)=>{if(t&&t.defining){let e=t.sampled.getValue(r());t.scheme.allowManualComplete?.(e)?(v.setDefining(t,!1),u?.(t)):i.delete(t)}}),{plots:a,time:t,operate:async e=>new Promise((t,n)=>{u=t,f=n;let r=e instanceof v?e:new v(e);return i.has(r)||i.add(r),o.value=r,t(r)}),remove:e=>(e===o.value&&(o.value=void 0),i.has(e)?(i.delete(e),!0):!1),cancel:f}}function T(){return{disabled:({active:e})=>!e,cursor:`pointer`,dragCursor:`crosshair`,onDrag({viewer:e,sampled:t,packable:n,event:r,index:i,lockCamera:a}){a();let o=(0,l.canvasCoordToCartesian)(r.endPosition,e.scene);if(o){let e=[...n.positions??[]];e[i]=o,t.setSample({time:n.time,derivative:n.derivative,positions:e})}},onKeyPressed({viewer:e,keyEvent:t,sampled:n,packable:r,index:i}){let a=(0,l.toCartographic)(e.camera.position)?.height;if(!a||![`ArrowUp`,`ArrowRight`,`ArrowDown`,`ArrowLeft`].includes(t.key))return;t.preventDefault();let o=0;switch(t.key){case`ArrowRight`:o=Math.PI/2;break;case`ArrowDown`:o=Math.PI;break;case`ArrowLeft`:o=-Math.PI/2;break;case`ArrowUp`:o=0;break}let s=(e.camera.heading+o)%(2*Math.PI),c=[...r.positions??[]],u=(0,l.toCartographic)(c[i]),d=a/1e5*Math.PI/180/1e3;u.latitude+=d*Math.cos(s),u.longitude+=d*Math.sin(s),c[i]=(0,l.toCartesian3)(u),n.setSample({time:r.time,derivative:r.derivative,positions:c})},render:({position:e,action:t})=>({position:e,point:{pixelSize:8,color:{[y.IDLE]:c.Color.BLUE.withAlpha(.4),[y.HOVER]:c.Color.BLUE.withAlpha(.6),[y.ACTIVE]:c.Color.AQUA.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}})}}function E(){let e=-1;return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];return t.length<2?[]:t.map((e,n)=>{let r=n===t.length-1?t[0]:t[n+1];return c.Cartesian3.midpoint(e,r,new c.Cartesian3)})},onDrag({viewer:t,sampled:n,packable:r,event:i,index:a,lockCamera:o,dragging:s}){o();let c=(0,l.canvasCoordToCartesian)(i.endPosition,t.scene);if(!c)return;let u=[...r.positions??[]];e===-1?(e=a,u.splice(a+1,0,c)):u[e+1]=c,s||(e=-1),n.setSample({time:r.time,derivative:r.derivative,positions:u})},render:({position:e,action:t,active:n})=>{if(n)return{position:e,point:{pixelSize:6,color:{[y.IDLE]:c.Color.GREEN.withAlpha(.4),[y.HOVER]:c.Color.GREEN.withAlpha(.6),[y.ACTIVE]:c.Color.GREEN.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}}}}}function D(){let e=-1;return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];if(t.length<2)return[];let n=[];for(let e=0;e<t.length-1;e++)n.push(c.Cartesian3.midpoint(t[e],t[e+1],new c.Cartesian3));return n},onDrag({viewer:t,sampled:n,packable:r,event:i,index:a,lockCamera:o,dragging:s}){o();let c=(0,l.canvasCoordToCartesian)(i.endPosition,t.scene);if(!c)return;let u=[...r.positions??[]];e===-1?(e=a,u.splice(a+1,0,c)):u[e+1]=c,s||(e=-1),n.setSample({time:r.time,derivative:r.derivative,positions:u})},render:({position:e,action:t})=>({position:e,point:{pixelSize:6,color:{[y.IDLE]:c.Color.GREEN.withAlpha(.4),[y.HOVER]:c.Color.GREEN.withAlpha(.6),[y.ACTIVE]:c.Color.GREEN.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}})}}const ee=`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20%20stroke%3D%22%23ffffff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m18%209l3%203l-3%203m-3-3h6M6%209l-3%203l3%203m-3-3h6m0%206l3%203l3-3m-3-3v6m3-15l-3-3l-3%203m3-3v6%22%2F%3E%3C%2Fsvg%3E`;function O(){return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];return t.length===0?[]:t.length===1?[t[0]]:[(0,l.toCartesian3)(c.Rectangle.center(c.Rectangle.fromCartesianArray(t)))]},onDrag({viewer:e,sampled:t,packable:n,event:r,lockCamera:i,dragging:a}){a&&i();let o=(0,l.canvasCoordToCartesian)(r.startPosition,e.scene),s=(0,l.canvasCoordToCartesian)(r.endPosition,e.scene);if(!o||!s)return;let u=c.Cartesian3.subtract(s,o,new c.Cartesian3),d=[...n.positions??[]];t.setSample({time:n.time,derivative:n.derivative,positions:d.map(e=>c.Cartesian3.add(e,u,new c.Cartesian3))})},render:({position:e,action:t})=>({position:e,billboard:{image:`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20%20stroke%3D%22%23ffffff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m18%209l3%203l-3%203m-3-3h6M6%209l-3%203l3%203m-3-3h6m0%206l3%203l3-3m-3-3v6m3-15l-3-3l-3%203m3-3v6%22%2F%3E%3C%2Fsvg%3E`,width:20,height:20,color:{[y.IDLE]:c.Color.WHITE,[y.HOVER]:c.Color.WHITE,[y.ACTIVE]:c.Color.AQUA.withAlpha(1)}[t],pixelOffset:new c.Cartesian3(0,-20),horizontalOrigin:c.HorizontalOrigin.CENTER,verticalOrigin:c.VerticalOrigin.BOTTOM,disableDepthTestDistance:1/0}})}}function k(e){if(e.length<3)throw Error(`positions must >= 3`);if(e.length===3)return[[e[0].clone(),e[1].clone(),e[2].clone()]];let t=c.CoplanarPolygonGeometry.createGeometry(c.CoplanarPolygonGeometry.fromPositions({positions:e,vertexFormat:c.VertexFormat.POSITION_ONLY}));if(!t)throw Error(`positions无法组成有效的geometry,检查点位是否错误`);let n=t.attributes.position.values,r=t.indices,i=[];for(let e=0;e<r.length;e+=3){let t=c.Cartesian3.unpack(n,r[e]*3,new c.Cartesian3),a=c.Cartesian3.unpack(n,r[e+1]*3,new c.Cartesian3),o=c.Cartesian3.unpack(n,r[e+2]*3,new c.Cartesian3);i.push([t,a,o])}return i}async function A(e){let{positions:t,scene:n,classificationType:r=c.ClassificationType.BOTH,terrainProvider:i=n.terrainProvider}=e,a=[c.ClassificationType.BOTH,c.ClassificationType.CESIUM_3D_TILE].includes(r),o=[c.ClassificationType.BOTH,c.ClassificationType.TERRAIN].includes(r),s=new Promise(e=>{a?n.clampToHeightMostDetailed(t.map(e=>e.clone())).then(e).catch(t=>{console.warn(t),e([])}):e([])}),l=new Promise(e=>{o&&i?(0,c.sampleTerrainMostDetailed)(i,t.map(e=>c.Cartographic.fromCartesian(e))).then(t=>e(t)).catch(t=>{console.warn(t),e([])}):e([])}),[u,d]=await Promise.all([s,l]),f=[];return t.forEach((e,t)=>{let n=u[t]||d[t]?c.Ellipsoid.WGS84.cartographicToCartesian(d[t]):e.clone();f.push(n)}),f}function j(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??10);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function M(e,t){if(e.length<3)throw Error(`positions must >= 3`);let{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o}=j(t);if(n<=0)throw Error(`options.density must > 0`);let s=c.Rectangle.fromCartesianArray(e),l=s.north-s.south,u=s.east-s.west,d=Math.max(u,l)/n,f=c.PolygonGeometry.fromPositions({positions:e,vertexFormat:c.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT,granularity:d}),p=c.PolygonGeometry.createGeometry(f),m=p.attributes.position.values;if(!p||!m)throw Error(`positions无法组成有效的geometry,检查点位是否错误`);let h=p.indices,g=[];for(let e=0;e<h.length;e+=3){let t=c.Cartesian3.unpack(m,h[e]*3,new c.Cartesian3),n=c.Cartesian3.unpack(m,h[e+1]*3,new c.Cartesian3),r=c.Cartesian3.unpack(m,h[e+2]*3,new c.Cartesian3);g.push(t,n,r)}if(i){if(!r)throw Error("scene is required on `clampToGround == true`.");g=await A({scene:r,terrainProvider:o,positions:g,classificationType:a})}let _=[];for(;g?.length;){let[e,t,n]=g.splice(0,3);_.push([e,t,n])}return _}function N(e,t,n){let r=c.Cartesian3.subtract(e,t,new c.Cartesian3),i=c.Cartesian3.subtract(n,t,new c.Cartesian3),a=c.Cartesian3.cross(r,i,r);return c.Cartesian3.magnitude(a)*.5}function P(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??10);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function F(e,t){if(e.length<2)throw Error(`positions.length must >= 2`);let{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o}=P(t);if(n<=0)throw Error(`options.density must > 0`);return i?(await M(e,{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o})).reduce((e,t)=>e+=N(...t),0):k(e).reduce((e,t)=>e+=N(...t),0)}async function I(e){let{start:t,end:n,count:r,scene:i,clampToGround:a,classificationType:o,terrainProvider:s}=e,l=[];for(let e=0;e<r;e++){let e=c.Cartesian3.lerp(t,n,1/r,new c.Cartesian3);l.push(e)}if(l.push(n.clone()),!a)return l;if(!i)throw Error("scene is required on `clampToGround == true`.");return await A({scene:i,terrainProvider:s,positions:l,classificationType:o})}function L(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??50);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function R(e,t){if(e.length<2)throw Error(`positions.length must >= 2`);let n=L(t),r=[],i=0;if(e.forEach((t,n)=>{if(n!==e.length-1){let a=e[n+1],o=c.Cartesian3.distance(t,a);r.push(o),i+=o}}),!n.clampToGround)return{stages:r,count:i};let a=n.density;if(a<=0)throw Error(`options.density must > 0`);let o=r.map(e=>Math.floor(e/i*a)),s=a-o.reduce((e,t)=>e+=t,0);s&&(o[o.length-1]+=s);let l=o.map((t,r)=>I({scene:n.scene,start:e[r],end:e[r+1],count:t,clampToGround:!0,classificationType:n.classificationType,terrainProvider:n.terrainProvider})),u=(await Promise.all(l)).map(async e=>{let{count:t}=await R(e);return t}),d=await Promise.all(u);return{stages:d,count:d.reduce((e,t)=>e+=t,0)}}const z=new m({type:`MeasureArea`,allowManualComplete:e=>e.positions.length>=3,skeletons:[T,E],initRender(){return{entities:[new c.Entity({label:{font:`14pt`},polyline:{material:c.Color.YELLOW.withAlpha(.5)},polygon:{material:c.Color.YELLOW.withAlpha(.5)}})]}},render(e){let t=e.previous.entities[0],{mouse:n,packable:r}=e,i=[...r.positions??[]];return n&&i.push(n),i.length===2?(t.position=void 0,t.label.text=void 0,t.polygon.hierarchy=void 0,t.polyline.positions=new c.CallbackProperty(()=>i,!1)):i.length>=3?(i.push(i[0]),t.position=new c.ConstantPositionProperty((0,l.toCartesian3)(c.Rectangle.center(c.Rectangle.fromCartesianArray(i)))),t.label.text=new c.ConstantProperty(``),F(i).then(e=>{let n=``;n=e/1e3/1e3>10?`${(e/1e3/1e3).toFixed(2)}km²`:`${(+e).toFixed(2)}m²`,t.label.text=new c.ConstantProperty(n)}),t.polyline.positions=void 0,t.polygon.hierarchy=new c.CallbackProperty(()=>i.length>=3?new c.PolygonHierarchy([...i]):void 0,!1)):(t.position=void 0,t.polygon.hierarchy=void 0,t.polyline.positions=void 0),{entities:[t]}}}),B=new m({type:`MeasureDistance`,allowManualComplete:e=>e.positions.length>=2,skeletons:[T],initRender(){return{entities:[new c.Entity({polyline:{width:2,material:c.Color.YELLOW.withAlpha(.5)}})]}},render(e){e.previous.entities[0];let{mouse:t,packable:n,previous:r}=e,i=r.entities,a=[...n.positions??[]];if(t&&a.push(t),a.length<2)return{entities:i};let o=i[0];return o.polyline??=new c.PolylineGraphics,o.polyline.positions=new c.CallbackProperty(()=>a,!1),a.forEach((e,t)=>{i[t+1]||(i[t+1]=new c.Entity({position:e,label:new c.LabelGraphics({backgroundColor:c.Color.fromCssColorString(`#fff`),font:`12pt sans-serif`})}))}),i.splice(a.length,i.length-a.length-1),R(a).then(({count:e,stages:t})=>{t.forEach((e,t)=>{i[t+1].position=new c.CallbackPositionProperty(()=>c.Cartesian3.midpoint(a[t],a[t+1],new c.Cartesian3),!1),i[t+1].label.text=new c.CallbackProperty(()=>`${e.toFixed(2)} m`,!1)}),t.length>1?(i[i.length-1].position=new c.CallbackPositionProperty(()=>a[a.length-1],!1),i[i.length-1].label.text=new c.CallbackProperty(()=>`${e.toFixed(2)} m`,!1)):(i[i.length-1].position=void 0,i[i.length-1].label.text=void 0)}),{entities:i}}}),V=new m({type:`Billboard`,complete:e=>e.positions.length>=1,skeletons:[O],initRender:()=>({entities:[new c.Entity({billboard:{image:`/favicon.svg`,width:32,height:32}})]}),render(e){let{mouse:t,packable:n}=e,r=e.previous.entities?.[0]??new c.Entity({billboard:{}}),i=n.positions?.[0]??t;return r.position=new c.CallbackPositionProperty(()=>i,!0),{entities:[r]}}}),H=new m({type:`BillboardPinBuilder`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({billboard:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),U=new m({type:`Cylinder`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({cylinder:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions];if(n.length===0)return e.previous;if(n.length===1){let t=e.mouse;t&&n.push(t)}if(n.length<2)return e.previous;t.position=new c.ConstantPositionProperty(n[0]);let r=c.Cartesian3.distance(n[0],n[1]);return t.cylinder.bottomRadius=new c.CallbackProperty(()=>r,!1),(e.defining||!(0,l.toPropertyValue)(t.cylinder.length))&&(t.cylinder.length=(0,l.toProperty)(r*2)),{entities:[t]}}}),te=new m({type:`Ellipse`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({ellipse:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions];if(n.length===0)return e.previous;if(n.length===1){let t=e.mouse;t&&n.push(t)}if(n.length<2)return e.previous;t.position=new c.ConstantPositionProperty(n[0]);let r=c.Cartesian3.distance(n[0],n[1]);return t.ellipse.semiMinorAxis=new c.CallbackProperty(()=>r||1,!1),t.ellipse.semiMajorAxis=t.ellipse.semiMinorAxis,{entities:[t]}}}),W=new m({type:`Label`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({label:{text:`Label`}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),G=new m({type:`Point`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({point:{pixelSize:10,color:c.Color.RED}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),K=new m({type:`Polygon`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,E],initRender:()=>({entities:[new c.Entity({polyline:{},polygon:{}})]}),render(e){let{mouse:t,packable:n}=e,r=e.previous.entities[0],i=[...n.positions??[]];return t&&i.push(t),i.length===2?(r.polygon.hierarchy=void 0,r.polyline.positions=new c.CallbackProperty(()=>i,!1)):i.length>=3?(r.polyline.positions=void 0,r.polygon.hierarchy=new c.CallbackProperty(()=>(i.push(i[0]),i.length>=3?new c.PolygonHierarchy([...i]):void 0),!1)):(r.polygon.hierarchy=void 0,r.polyline.positions=void 0),{entities:[r]}}}),q=new m({type:`PolygonArc`,complete:e=>e.positions.length>=3,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;n.length<3&&e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arc)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),J=new m({type:`PolygonArrowAttackDirection`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowAttackDirection)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),Y=new m({type:`PolygonArrowAttackDirectionTailed`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowAttackDirectionTailed)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),X=new m({type:`PolygonArrowClamped`,complete:e=>e.positions.length>=5,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<5){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=3){let e=new c.PolygonHierarchy((0,f.arrowClamped)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),Z=new m({type:`PolygonArrowStraight`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<2){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=2){let e=new c.PolygonHierarchy((0,f.arrowStraight)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),Q=new m({type:`PolygonArrowStraightSharp`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<2){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=2){let e=new c.PolygonHierarchy((0,f.arrowStraightSharp)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),$=new m({type:`PolygonArrowUnitCombatOperation`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowUnitCombatOperation)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),ne=new m({type:`PolygonArrowUnitCombatOperationTailed`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,E],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowUnitCombatOperationTailed)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),re=new m({type:`PolygonAssemblingPlace`,complete:e=>e.positions.length>=3,skeletons:[O,T,E],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;if(r.length===2){let e=(0,l.toCartographic)(r[0]),t=(0,l.toCartographic)(r[1]),n=e.latitude,i=e.height,a=t.longitude-(e.longitude-t.longitude);r.push((0,l.toCoord)(new c.Cartographic(a,n,i)))}let i=new c.PolygonHierarchy((0,f.assemblingPlace)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),ie=new m({type:`PolygonSmooth`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions,r=e.mouse;if(r&&n.push(r.clone()),n.length<=2)return t.polygon.hierarchy=void 0,e.previous;let i=n.map(e=>(0,l.toCoord)(e));i.push(i[0]);let{features:a}=p.polygonSmooth(p.polygon([i]),{iterations:3}),o=new c.PolygonHierarchy(a[0].geometry.coordinates[0].map(e=>(0,l.toCartesian3)(e)).filter(e=>!!e));return t.polygon.hierarchy=new c.CallbackProperty(()=>o,!1),{entities:[t]}}}),ae=new m({type:`Polyline`,allowManualComplete:e=>e.positions.length>1,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polyline:{material:c.Color.RED,width:2}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;r&&n.push(r.clone());let i=n.length>=2?n:[];return t.polyline.positions=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),oe=new m({type:`PolylineCurve`,allowManualComplete:e=>e.positions.length>1,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polyline:{material:c.Color.RED,width:2}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;if(r&&n.push(r.clone()),n.length<2)return t.polyline.positions=void 0,e.previous;let i=n.map(e=>(0,l.toCoord)(e)),{geometry:{coordinates:a}}=p.bezierSpline(p.lineString(i));return t.polyline.positions=new c.CallbackProperty(()=>a.map(l.toCartesian3),!1),{entities:[t]}}}),se=new m({type:`Rectangle`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({rectangle:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;if(r&&n.push(r.clone()),n.length<2)return t.rectangle.coordinates=void 0,e.previous;let i=c.Rectangle.fromCartesianArray(n??[]);return t.rectangle.coordinates=new c.CallbackProperty(()=>i,!1),{entities:[t]}}});exports.PlotAction=y,exports.PlotFeature=v,exports.PlotScheme=m,exports.PlotSchemeBillboard=V,exports.PlotSchemeBillboardPinBuilder=H,exports.PlotSchemeCylinder=U,exports.PlotSchemeEllipse=te,exports.PlotSchemeLabel=W,exports.PlotSchemePoint=G,exports.PlotSchemePolygon=K,exports.PlotSchemePolygonArc=q,exports.PlotSchemePolygonArrowAttackDirection=J,exports.PlotSchemePolygonArrowAttackDirectionTailed=Y,exports.PlotSchemePolygonArrowClamped=X,exports.PlotSchemePolygonArrowStraight=Z,exports.PlotSchemePolygonArrowStraightSharp=Q,exports.PlotSchemePolygonArrowUnitCombatOperation=$,exports.PlotSchemePolygonArrowUnitCombatOperationTailed=ne,exports.PlotSchemePolygonAssemblingPlace=re,exports.PlotSchemePolygonSmooth=ie,exports.PlotSchemePolyline=ae,exports.PlotSchemePolylineCurve=oe,exports.PlotSchemeRectangle=se,exports.PlotSkeletonEntity=b,exports.SampledPlotProperty=_,exports.SampledPlotStrategy=h,exports.control=T,exports.interval=E,exports.intervalNonclosed=D,exports.moved=O,exports.schemeMeasureArea=z,exports.schemeMeasureDistance=B,exports.usePlot=w;
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`cesium`),l=require(`vesium`),u=require(`@vueuse/core`),d=require(`vue`),f=require(`@vesium/geometry`),p=require(`@turf/turf`);p=s(p);var m=class e{constructor(e){this.type=e.type,this.complete=e.complete,this.allowManualComplete=e.allowManualComplete,this.definingCursor=e.definingCursor??`crosshair`,this.skeletons=e.skeletons?.map(e=>e())??[],this.initRender=e.initRender,this.render=e.render}type;complete;allowManualComplete;definingCursor;skeletons;initRender;render;static _record=new Map;static getCacheTypes(){return[...this._record.keys()]}static getCache(t){return e._record.get(t)}static setCache(t){(0,l.assertError)(!t.type,"`scheme.type` is required"),e._record.set(t.type,t)}static resolve(t){if(typeof t==`string`){let n=e.getCache(t);return(0,u.assert)(!!n,`scheme ${t} not found`),n}else if(t instanceof e)return t;else return new e(t)}};let h=function(e){return e[e.NEAR=0]=`NEAR`,e[e.CYCLE=1]=`CYCLE`,e[e.STRICT=2]=`STRICT`,e}({});const g=(e,t,n,r)=>r===0?{time:e,positions:t.positions?.map(e=>e.clone()),derivative:t.derivative}:r===1?{time:e,positions:n.positions?.map(e=>e.clone()),derivative:t.derivative}:{time:e,positions:n.positions?.map((e,n)=>{let i=t.positions?.[n];return i?c.Cartesian3.lerp(i,e,r,new c.Cartesian3):e}),derivative:t.derivative};var _=class e{constructor(e){this.interpolationAlgorithm=e?.interpolationAlgorithm,this.strategy=e?.strategy??h.NEAR,e?.packables?.forEach(e=>this.setSample(e)),this._times.length||this.setSample({time:new c.JulianDate(0,0),positions:[],derivative:void 0})}static defaultInterpolationAlgorithm=g;strategy;interpolationAlgorithm;_times=[];_sampleds=[];_derivatives=[];get isConstant(){return this._times.length===0}_definitionChanged=new c.Event;get definitionChanged(){return this._definitionChanged}getTimes(){return this._times.map(e=>e.clone())}getIndexScope(e){if(!this._times.length)return;let t=this._times[0],n=this._times[this._times.length-1];if(c.JulianDate.lessThan(e,t)||c.JulianDate.greaterThan(e,n))switch(this.strategy){case h.STRICT:return;case h.NEAR:e=c.JulianDate.lessThan(e,this._times[0])?this._times[0].clone():this._times[this._times.length-1].clone();break;case h.CYCLE:{let t=c.JulianDate.toDate(this._times[0]).getTime(),n=c.JulianDate.toDate(this._times[this._times.length-1]).getTime()-t,r=(c.JulianDate.toDate(e).getTime()-t)%n,i=new Date(t+r);e=c.JulianDate.fromDate(i);break}}let r=this._times.findIndex(t=>c.JulianDate.lessThanOrEquals(e,t)),i=Math.min(r,this._times.length-1),a=c.JulianDate.toDate(this._times[r]).getTime(),o=c.JulianDate.toDate(this._times[i]).getTime();return{prevIndex:r,nextIndex:i,proportion:(c.JulianDate.toDate(e).getTime()-a)/(o-a)||0}}getValue(t,n){if(n??={time:t,positions:[]},Object.assign(n,{time:t?.clone(),positions:[],derivative:void 0}),!t)return n.time=this._times[0].clone(),n.positions=this._sampleds[0]?.map(e=>e.clone(e)),n.derivative=this._derivatives[0],n;let r=this.getIndexScope(t);if(!r)return n;n.time=t;let{prevIndex:i,nextIndex:a,proportion:o}=r,s={time:this._times[i],positions:this._sampleds[i],derivative:this._derivatives[i]},c={time:this._times[a],positions:this._sampleds[a],derivative:this._derivatives[a]},l=(this.interpolationAlgorithm||e.defaultInterpolationAlgorithm)(t,s,c,o);return Object.assign(n,l),n}setSample(e){let t=e.time?.clone()??this._times[0].clone(),n=e.positions?.map(e=>e.clone())??[],r=e.derivative,i=this._times.findIndex(e=>c.JulianDate.equals(t,e));i===-1?this._times.length===0?(this._times[0]=t,this._sampleds[0]=n,this._derivatives[0]=e.derivative):c.JulianDate.lessThan(t,this._times[0])?(this._times.splice(0,0,t),this._sampleds.splice(0,0,n),this._derivatives.splice(0,0,r)):c.JulianDate.greaterThan(t,this._times[this._times.length-1])&&(this._times.push(t),this._sampleds.push(n),this._derivatives.push(r)):(this._times[i]=t,this._sampleds[i]=n,this._derivatives[i]=e.derivative),this.definitionChanged.raiseEvent(this)}setSamples(e){e.forEach(e=>this.setSample(e))}removeSample(e){let t=this._times.findIndex(t=>t.equals(e));return t!==-1&&(this._sampleds.splice(t,1),this._derivatives.splice(t,1),this._times.splice(t,1).length)?(this._definitionChanged.raiseEvent(this),!0):!1}removeSamples(e){for(let t=0;t<this._times.length;t++){let n=this._times[t];c.TimeInterval.contains(e,n)&&this.removeSample(n)}}equals(e){return e===this}},v=class{constructor(e){let{id:t,disabled:n=!1,sampled:r}=e;this._id=t||(0,c.createGuid)(),this._scheme=m.resolve(e.scheme),this._definitionChanged=new c.Event,this._defining=!0,this._disabled=n,this._sampled=r instanceof _?r:new _(r),this._sampled.definitionChanged.addEventListener(e=>this._definitionChanged.raiseEvent(this,`sampled`,e,e),this);let i=this._scheme.initRender?.()??{};this._entities=[...i.entities??[]],this._primitives=[...i.primitives??[]],this._groundPrimitives=[...i.groundPrimitives??[]],this._skeletons=[]}_id;get id(){return this._id}_scheme;get scheme(){return this._scheme}_definitionChanged;get definitionChanged(){return this._definitionChanged}_defining;get defining(){return this._defining}static setDefining(e,t){e._defining!==t&&(e._definitionChanged.raiseEvent(e,`defining`,t,e._defining),e._defining=t)}_disabled;get disabled(){return this._disabled}set disabled(e){this.disabled=e}_sampled;get sampled(){return this._sampled}_entities;get entities(){return this._entities}set entities(e){this._definitionChanged.raiseEvent(this,`entities`,e,this._entities),this._entities=e}_primitives;get primitives(){return this._primitives}set primitives(e){this._definitionChanged.raiseEvent(this,`primitives`,e,this._primitives),this._primitives=e}_groundPrimitives;get groundPrimitives(){return this._groundPrimitives}set groundPrimitives(e){this._definitionChanged.raiseEvent(this,`groundPrimitives`,e,this._groundPrimitives),this._groundPrimitives=e}_skeletons;get skeletons(){return this._skeletons}set skeletons(e){this._definitionChanged.raiseEvent(this,`skeletons`,e,this._skeletons),this._skeletons=e}};let y=function(e){return e[e.IDLE=0]=`IDLE`,e[e.HOVER=1]=`HOVER`,e[e.ACTIVE=2]=`ACTIVE`,e}({});var b=class extends c.Entity{constructor(e){super(e)}};function x(e,t,n){let r=(0,l.useViewer)(),i=(0,l.usePrimitive)(new c.PrimitiveCollection),a=(0,l.usePrimitive)(new c.PrimitiveCollection,{collection:`ground`}),o=(0,l.useDataSource)(new c.CustomDataSource),s=(0,l.useEntityScope)({collection:()=>o.value.entities}),f=(0,l.usePrimitiveScope)({collection:()=>i.value}),p=(0,l.usePrimitiveScope)({collection:()=>a.value}),m=(0,d.shallowRef)();(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.MOUSE_MOVE,e=>{m.value=(0,l.canvasCoordToCartesian)(e?.endPosition,r.value.scene)}),(0,u.watchArray)(e,(e,t,n,r=[])=>{r.forEach(e=>{s.removeWhere(t=>e.entities.includes(t)),f.removeWhere(t=>e.primitives.includes(t)),p.removeWhere(t=>e.groundPrimitives.includes(t))}),n.forEach(e=>{e.entities.forEach(e=>s.add(e)),e.primitives.forEach(e=>f.add(e)),e.groundPrimitives.forEach(e=>p.add(e))})},{immediate:!0,flush:`post`}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t,n,r)=>{if(t===`entities`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>s.add(e)),t.forEach(e=>s.remove(e))}else if(t===`primitives`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>f.add(e)),t.forEach(e=>f.remove(e))}else if(t===`groundPrimitives`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>p.add(e)),t.forEach(e=>p.remove(e))}});let h=async e=>{await(0,d.nextTick)();let t=e.sampled.getValue(n()),r=e.defining?m.value:void 0,i=await e.scheme.render?.({packable:t,mouse:r,defining:e.defining,previous:{entities:e.entities,primitives:e.primitives,groundPrimitives:e.groundPrimitives},getPositions(){let e=t.positions;return r&&e.push(r),e}});e.entities=i?.entities??[],e.primitives=i?.primitives??[],e.groundPrimitives=i?.groundPrimitives??[]};return(0,d.watch)(t,(e,t)=>{t&&h(t)}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t)=>{[`disabled`,`defining`,`scheme`,`sampled`,`time`].includes(t)&&h(e)}),(0,d.watch)(m,()=>{e.value.forEach(e=>e.defining&&h(e))}),{primitives:(0,d.computed)(()=>Array.from(f.scope)),groundPrimitives:(0,d.computed)(()=>Array.from(f.scope)),entities:(0,d.computed)(()=>Array.from(s.scope))}}function S(e,t){let n=(0,l.useViewer)(),r=(0,d.ref)(!1),i=(0,d.computed)(()=>e.value?.sampled.getValue(t()));(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_CLICK,async t=>{if(await(0,u.promiseTimeout)(1),!e.value||!i.value||r.value)return;let{scheme:a,defining:o,sampled:s}=e.value;if(!o)return;let c=(0,l.canvasCoordToCartesian)(t.position,n.value.scene);c&&(i.value.positions??=[],i.value.positions.push(c),s.setSample(i.value),a.complete?.(i.value)&&v.setDefining(e.value,!1))}),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_DOUBLE_CLICK,async t=>{if(!e.value||!i.value)return;r.value=!0,await(0,u.promiseTimeout)(2),r.value=!1;let{scheme:a,defining:o}=e.value;o&&(0,l.canvasCoordToCartesian)(t.position,n.value.scene)&&a.allowManualComplete?.(i.value)&&v.setDefining(e.value,!1)}),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.RIGHT_CLICK,async()=>{if(!e.value||!i.value)return;let{defining:t,sampled:n}=e.value;t&&(i.value.positions??=[],i.value.positions.length!==0&&(i.value.positions.splice(i.value.positions.length-1,1),n.setSample(i.value)))});let a=(0,d.ref)(),o=()=>{if(!e.value?.defining)a.value&&(a.value=void 0,n.value.container.parentElement.style.removeProperty(`cursor`));else{let t=e.value.scheme.definingCursor;a.value=(0,l.isFunction)(t)?t(i.value):t,a.value&&n.value?.container.parentElement.style.setProperty(`cursor`,a.value)}};(0,l.useCesiumEventListener)(()=>e.value?.definitionChanged,(e,t)=>{(t===`defining`||t===`sampled`)&&o()}),(0,d.watch)(e,()=>o())}function C(e,t,n){let r=(0,l.useViewer)(),i=(0,l.useDataSource)(new c.CustomDataSource),a=(0,l.useEntityScope)({collection:()=>i.value.entities}),o=(0,d.shallowRef)(),s=(0,d.shallowRef)(),f=e=>e?s.value?.id===e.id?y.ACTIVE:o.value?.id===e.id?y.HOVER:y.IDLE:y.IDLE,p=(e,r)=>{let i=e.skeletons,a=[];if(r||e.disabled)e.skeletons=[];else{let r=e.sampled.getValue(n()),o=e.defining,s=t.value===e;e.scheme.skeletons.forEach(t=>{if((0,l.isFunction)(t.disabled)?t.disabled({active:s,defining:o}):t.disabled)return;let n=t.format?.(r)??r?.positions??[];n.forEach((c,l)=>{let u=i.find(e=>e.index===l&&e.skeleton===t),d=t.render?.({defining:o,active:s,index:l,packable:r,positions:n,position:c,action:f(u)}),p=new b(d??{});u?p.propertyNames.forEach(e=>{e!==`id`&&(u[e]=p[e])}):u=p,u.plot=e,u.skeleton=t,u.index=l,a.push(u)})})}e.skeletons=a},m=(0,l.useGraphicEvent)();return(0,d.watchEffect)(e=>{e(m.add(`global`,`DRAG`,({event:e,pick:i,dragging:o,lockCamera:c})=>{if(i.id instanceof b&&a.scope.has(i.id)){let a=i.id,l=a.plot;if(l.defining)return;s.value=a;let u=a.skeleton,d=a.index,f=l.sampled.getValue(n());u.onDrag?.({viewer:r.value,sampled:l.sampled,packable:f,active:t.value===l,index:d,event:e,dragging:o,lockCamera:c})}else s.value=void 0},{cursor:({pick:e})=>{if(!t.value?.defining&&a.scope.has(e.id)){let t=e.id.skeleton;return(0,l.isFunction)(t?.cursor)?t.cursor(e):(0,d.toValue)(t?.cursor)}},dragCursor:({pick:e})=>{if(!t.value?.defining&&a.scope.has(e.id)){let t=e.id.skeleton;return(0,l.isFunction)(t?.dragCursor)?t.dragCursor(e):(0,d.toValue)(t?.dragCursor)}}}))}),(0,u.onKeyStroke)(e=>{if(s.value){let t=s.value,i=t.plot,a=t.skeleton,o=t.index,c=i.sampled.getValue(n());a.onKeyPressed?.({viewer:r.value,sampled:i.sampled,packable:c,index:o,keyEvent:e})}}),(0,d.watchEffect)(e=>{e(m.add(`global`,`HOVER`,({hovering:e,pick:t})=>{e&&t.id instanceof b&&a.scope.has(t.id)?o.value=t.id:o.value=void 0}))}),(0,d.watchEffect)(e=>{e(m.add(`global`,`LEFT_CLICK`,({event:e,pick:i})=>{if(i.id instanceof b&&a.scope.has(i.id)){let a=i.id;s.value=a;let o=a.plot,c=a.skeleton,l=a.index,u=o.sampled.getValue(n());c.onLeftClick?.({viewer:r.value,sampled:o.sampled,packable:u,active:t.value===o,defining:o.defining,index:l,event:e})}else s.value=void 0}))}),(0,u.watchArray)(e,(e,t,n,r=[])=>{n.forEach(e=>p(e)),r.forEach(e=>p(e,!0))}),(0,l.useCesiumEventListener)(()=>e.value.map(e=>e.definitionChanged),(e,t,n,r)=>{if([`disabled`,`defining`,`scheme`,`sampled`,`time`].includes(t))(0,d.nextTick)(()=>p(e));else if(t===`skeletons`){let{added:e,removed:t}=(0,l.arrayDiff)(n,r);e.forEach(e=>a.add(e)),t.forEach(e=>a.remove(e))}}),(0,d.watch)(t,(e,t)=>{e&&p(e),t&&p(t)}),{dataSource:i}}function w(e){let t=e?.time||(0,d.shallowRef)(),n=(0,l.useViewer)(),r=()=>t.value?.clone()||new c.JulianDate(0,0),i=(0,d.shallowReactive)(new Set),a=(0,d.computed)(()=>Array.from(i)),o=(0,d.shallowRef)(),s=(0,d.shallowRef)();(0,l.useCesiumEventListener)([()=>o.value?.sampled.definitionChanged],()=>{s.value=o.value?.sampled.getValue(r())}),S(o,r),x(a,o,r),C(a,o,r),(0,l.useScreenSpaceEventHandler)(c.ScreenSpaceEventType.LEFT_CLICK,e=>{if(o.value?.defining)return;let t=n.value?.scene.pick(e.position.clone());if(!(t?.id?.plot instanceof v)){if(!t){o.value=void 0;return}o.value=a.value.find(e=>(0,l.pickHitGraphic)(t,[...e.entities,...e.primitives,...e.groundPrimitives]))}});let u,f;return(0,d.watch)(o,(e,t)=>{if(t&&t.defining){let e=t.sampled.getValue(r());t.scheme.allowManualComplete?.(e)?(v.setDefining(t,!1),u?.(t)):i.delete(t)}}),{plots:a,time:t,operate:async e=>new Promise((t,n)=>{u=t,f=n;let r=e instanceof v?e:new v(e);return i.has(r)||i.add(r),o.value=r,t(r)}),remove:e=>(e===o.value&&(o.value=void 0),i.has(e)?(i.delete(e),!0):!1),cancel:f}}function T(){return{disabled:({active:e})=>!e,cursor:`pointer`,dragCursor:`crosshair`,onDrag({viewer:e,sampled:t,packable:n,event:r,index:i,lockCamera:a}){a();let o=(0,l.canvasCoordToCartesian)(r.endPosition,e.scene);if(o){let e=[...n.positions??[]];e[i]=o,t.setSample({time:n.time,derivative:n.derivative,positions:e})}},onKeyPressed({viewer:e,keyEvent:t,sampled:n,packable:r,index:i}){let a=(0,l.toCartographic)(e.camera.position)?.height;if(!a||![`ArrowUp`,`ArrowRight`,`ArrowDown`,`ArrowLeft`].includes(t.key))return;t.preventDefault();let o=0;switch(t.key){case`ArrowRight`:o=Math.PI/2;break;case`ArrowDown`:o=Math.PI;break;case`ArrowLeft`:o=-Math.PI/2;break;case`ArrowUp`:o=0;break}let s=(e.camera.heading+o)%(2*Math.PI),c=[...r.positions??[]],u=(0,l.toCartographic)(c[i]),d=a/1e5*Math.PI/180/1e3;u.latitude+=d*Math.cos(s),u.longitude+=d*Math.sin(s),c[i]=(0,l.toCartesian3)(u),n.setSample({time:r.time,derivative:r.derivative,positions:c})},render:({position:e,action:t})=>({position:e,point:{pixelSize:8,color:{[y.IDLE]:c.Color.BLUE.withAlpha(.4),[y.HOVER]:c.Color.BLUE.withAlpha(.6),[y.ACTIVE]:c.Color.AQUA.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}})}}function E(){let e=-1;return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];return t.length<2?[]:t.map((e,n)=>{let r=n===t.length-1?t[0]:t[n+1];return c.Cartesian3.midpoint(e,r,new c.Cartesian3)})},onDrag({viewer:t,sampled:n,packable:r,event:i,index:a,lockCamera:o,dragging:s}){o();let c=(0,l.canvasCoordToCartesian)(i.endPosition,t.scene);if(!c)return;let u=[...r.positions??[]];e===-1?(e=a,u.splice(a+1,0,c)):u[e+1]=c,s||(e=-1),n.setSample({time:r.time,derivative:r.derivative,positions:u})},render:({position:e,action:t,active:n})=>{if(n)return{position:e,point:{pixelSize:6,color:{[y.IDLE]:c.Color.GREEN.withAlpha(.4),[y.HOVER]:c.Color.GREEN.withAlpha(.6),[y.ACTIVE]:c.Color.GREEN.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}}}}}function D(){let e=-1;return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];if(t.length<2)return[];let n=[];for(let e=0;e<t.length-1;e++)n.push(c.Cartesian3.midpoint(t[e],t[e+1],new c.Cartesian3));return n},onDrag({viewer:t,sampled:n,packable:r,event:i,index:a,lockCamera:o,dragging:s}){o();let c=(0,l.canvasCoordToCartesian)(i.endPosition,t.scene);if(!c)return;let u=[...r.positions??[]];e===-1?(e=a,u.splice(a+1,0,c)):u[e+1]=c,s||(e=-1),n.setSample({time:r.time,derivative:r.derivative,positions:u})},render:({position:e,action:t})=>({position:e,point:{pixelSize:6,color:{[y.IDLE]:c.Color.GREEN.withAlpha(.4),[y.HOVER]:c.Color.GREEN.withAlpha(.6),[y.ACTIVE]:c.Color.GREEN.withAlpha(1)}[t],disableDepthTestDistance:1/0,outlineWidth:1,outlineColor:c.Color.WHITE.withAlpha(.4)}})}}const ee=`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20%20stroke%3D%22%23ffffff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m18%209l3%203l-3%203m-3-3h6M6%209l-3%203l3%203m-3-3h6m0%206l3%203l3-3m-3-3v6m3-15l-3-3l-3%203m3-3v6%22%2F%3E%3C%2Fsvg%3E`;function O(){return{disabled:({active:e,defining:t})=>!e||t,cursor:`pointer`,dragCursor:`crosshair`,format(e){let t=e.positions??[];return t.length===0?[]:t.length===1?[t[0]]:[(0,l.toCartesian3)(c.Rectangle.center(c.Rectangle.fromCartesianArray(t)))]},onDrag({viewer:e,sampled:t,packable:n,event:r,lockCamera:i,dragging:a}){a&&i();let o=(0,l.canvasCoordToCartesian)(r.startPosition,e.scene),s=(0,l.canvasCoordToCartesian)(r.endPosition,e.scene);if(!o||!s)return;let u=c.Cartesian3.subtract(s,o,new c.Cartesian3),d=[...n.positions??[]];t.setSample({time:n.time,derivative:n.derivative,positions:d.map(e=>c.Cartesian3.add(e,u,new c.Cartesian3))})},render:({position:e,action:t})=>({position:e,billboard:{image:`data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20%20stroke%3D%22%23ffffff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m18%209l3%203l-3%203m-3-3h6M6%209l-3%203l3%203m-3-3h6m0%206l3%203l3-3m-3-3v6m3-15l-3-3l-3%203m3-3v6%22%2F%3E%3C%2Fsvg%3E`,width:20,height:20,color:{[y.IDLE]:c.Color.WHITE,[y.HOVER]:c.Color.WHITE,[y.ACTIVE]:c.Color.AQUA.withAlpha(1)}[t],pixelOffset:new c.Cartesian3(0,-20),horizontalOrigin:c.HorizontalOrigin.CENTER,verticalOrigin:c.VerticalOrigin.BOTTOM,disableDepthTestDistance:1/0}})}}function k(e){if(e.length<3)throw Error(`positions must >= 3`);if(e.length===3)return[[e[0].clone(),e[1].clone(),e[2].clone()]];let t=c.CoplanarPolygonGeometry.createGeometry(c.CoplanarPolygonGeometry.fromPositions({positions:e,vertexFormat:c.VertexFormat.POSITION_ONLY}));if(!t)throw Error(`positions无法组成有效的geometry,检查点位是否错误`);let n=t.attributes.position.values,r=t.indices,i=[];for(let e=0;e<r.length;e+=3){let t=c.Cartesian3.unpack(n,r[e]*3,new c.Cartesian3),a=c.Cartesian3.unpack(n,r[e+1]*3,new c.Cartesian3),o=c.Cartesian3.unpack(n,r[e+2]*3,new c.Cartesian3);i.push([t,a,o])}return i}async function A(e){let{positions:t,scene:n,classificationType:r=c.ClassificationType.BOTH,terrainProvider:i=n.terrainProvider}=e,a=[c.ClassificationType.BOTH,c.ClassificationType.CESIUM_3D_TILE].includes(r),o=[c.ClassificationType.BOTH,c.ClassificationType.TERRAIN].includes(r),s=new Promise(e=>{a?n.clampToHeightMostDetailed(t.map(e=>e.clone())).then(e).catch(t=>{console.warn(t),e([])}):e([])}),l=new Promise(e=>{o&&i?(0,c.sampleTerrainMostDetailed)(i,t.map(e=>c.Cartographic.fromCartesian(e))).then(t=>e(t)).catch(t=>{console.warn(t),e([])}):e([])}),[u,d]=await Promise.all([s,l]),f=[];return t.forEach((e,t)=>{let n=u[t]||d[t]?c.Ellipsoid.WGS84.cartographicToCartesian(d[t]):e.clone();f.push(n)}),f}function j(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??10);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function M(e,t){if(e.length<3)throw Error(`positions must >= 3`);let{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o}=j(t);if(n<=0)throw Error(`options.density must > 0`);let s=c.Rectangle.fromCartesianArray(e),l=s.north-s.south,u=s.east-s.west,d=Math.max(u,l)/n,f=c.PolygonGeometry.fromPositions({positions:e,vertexFormat:c.PerInstanceColorAppearance.FLAT_VERTEX_FORMAT,granularity:d}),p=c.PolygonGeometry.createGeometry(f),m=p.attributes.position.values;if(!p||!m)throw Error(`positions无法组成有效的geometry,检查点位是否错误`);let h=p.indices,g=[];for(let e=0;e<h.length;e+=3){let t=c.Cartesian3.unpack(m,h[e]*3,new c.Cartesian3),n=c.Cartesian3.unpack(m,h[e+1]*3,new c.Cartesian3),r=c.Cartesian3.unpack(m,h[e+2]*3,new c.Cartesian3);g.push(t,n,r)}if(i){if(!r)throw Error("scene is required on `clampToGround == true`.");g=await A({scene:r,terrainProvider:o,positions:g,classificationType:a})}let _=[];for(;g?.length;){let[e,t,n]=g.splice(0,3);_.push([e,t,n])}return _}function N(e,t,n){let r=c.Cartesian3.subtract(e,t,new c.Cartesian3),i=c.Cartesian3.subtract(n,t,new c.Cartesian3),a=c.Cartesian3.cross(r,i,r);return c.Cartesian3.magnitude(a)*.5}function P(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??10);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function F(e,t){if(e.length<2)throw Error(`positions.length must >= 2`);let{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o}=P(t);if(n<=0)throw Error(`options.density must > 0`);return i?(await M(e,{density:n,scene:r,clampToGround:i,classificationType:a,terrainProvider:o})).reduce((e,t)=>e+=N(...t),0):k(e).reduce((e,t)=>e+=N(...t),0)}async function I(e){let{start:t,end:n,count:r,scene:i,clampToGround:a,classificationType:o,terrainProvider:s}=e,l=[];for(let e=0;e<r;e++){let e=c.Cartesian3.lerp(t,n,1/r,new c.Cartesian3);l.push(e)}if(l.push(n.clone()),!a)return l;if(!i)throw Error("scene is required on `clampToGround == true`.");return await A({scene:i,terrainProvider:s,positions:l,classificationType:o})}function L(e){let t=e?.clampToGround??!1,n=e?.classificationType??c.ClassificationType.BOTH,r=Math.floor(e?.density??50);return{scene:e?.scene,clampToGround:t,classificationType:n,terrainProvider:e?.terrainProvider,density:r}}async function R(e,t){if(e.length<2)throw Error(`positions.length must >= 2`);let n=L(t),r=[],i=0;if(e.forEach((t,n)=>{if(n!==e.length-1){let a=e[n+1],o=c.Cartesian3.distance(t,a);r.push(o),i+=o}}),!n.clampToGround)return{stages:r,count:i};let a=n.density;if(a<=0)throw Error(`options.density must > 0`);let o=r.map(e=>Math.floor(e/i*a)),s=a-o.reduce((e,t)=>e+=t,0);s&&(o[o.length-1]+=s);let l=o.map((t,r)=>I({scene:n.scene,start:e[r],end:e[r+1],count:t,clampToGround:!0,classificationType:n.classificationType,terrainProvider:n.terrainProvider})),u=(await Promise.all(l)).map(async e=>{let{count:t}=await R(e);return t}),d=await Promise.all(u);return{stages:d,count:d.reduce((e,t)=>e+=t,0)}}const z=new m({type:`MeasureArea`,allowManualComplete:e=>e.positions.length>=3,skeletons:[T,E],initRender(){return{entities:[new c.Entity({label:{font:`14pt`},polyline:{material:c.Color.YELLOW.withAlpha(.5)},polygon:{material:c.Color.YELLOW.withAlpha(.5)}})]}},render(e){let t=e.previous.entities[0],{mouse:n,packable:r}=e,i=[...r.positions??[]];return n&&i.push(n),i.length===2?(t.position=void 0,t.label.text=void 0,t.polygon.hierarchy=void 0,t.polyline.positions=new c.CallbackProperty(()=>i,!1)):i.length>=3?(i.push(i[0]),t.position=new c.ConstantPositionProperty((0,l.toCartesian3)(c.Rectangle.center(c.Rectangle.fromCartesianArray(i)))),t.label.text=new c.ConstantProperty(``),F(i).then(e=>{let n=``;n=e/1e3/1e3>10?`${(e/1e3/1e3).toFixed(2)}km²`:`${(+e).toFixed(2)}m²`,t.label.text=new c.ConstantProperty(n)}),t.polyline.positions=void 0,t.polygon.hierarchy=new c.CallbackProperty(()=>i.length>=3?new c.PolygonHierarchy([...i]):void 0,!1)):(t.position=void 0,t.polygon.hierarchy=void 0,t.polyline.positions=void 0),{entities:[t]}}}),B=new m({type:`MeasureDistance`,allowManualComplete:e=>e.positions.length>=2,skeletons:[T],initRender(){return{entities:[new c.Entity({polyline:{width:2,material:c.Color.YELLOW.withAlpha(.5)}})]}},render(e){e.previous.entities[0];let{mouse:t,packable:n,previous:r}=e,i=r.entities,a=[...n.positions??[]];if(t&&a.push(t),a.length<2)return{entities:i};let o=i[0];return o.polyline??=new c.PolylineGraphics,o.polyline.positions=new c.CallbackProperty(()=>a,!1),a.forEach((e,t)=>{i[t+1]||(i[t+1]=new c.Entity({position:e,label:new c.LabelGraphics({backgroundColor:c.Color.fromCssColorString(`#fff`),font:`12pt sans-serif`})}))}),i.splice(a.length,i.length-a.length-1),R(a).then(({count:e,stages:t})=>{t.forEach((e,t)=>{i[t+1].position=new c.CallbackPositionProperty(()=>c.Cartesian3.midpoint(a[t],a[t+1],new c.Cartesian3),!1),i[t+1].label.text=new c.CallbackProperty(()=>`${e.toFixed(2)} m`,!1)}),t.length>1?(i[i.length-1].position=new c.CallbackPositionProperty(()=>a[a.length-1],!1),i[i.length-1].label.text=new c.CallbackProperty(()=>`${e.toFixed(2)} m`,!1)):(i[i.length-1].position=void 0,i[i.length-1].label.text=void 0)}),{entities:i}}}),V=new m({type:`Billboard`,complete:e=>e.positions.length>=1,skeletons:[O],initRender:()=>({entities:[new c.Entity({billboard:{image:`/favicon.svg`,width:32,height:32}})]}),render(e){let{mouse:t,packable:n}=e,r=e.previous.entities?.[0]??new c.Entity({billboard:{}}),i=n.positions?.[0]??t;return r.position=new c.CallbackPositionProperty(()=>i,!0),{entities:[r]}}}),H=new m({type:`BillboardPinBuilder`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({billboard:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),U=new m({type:`Cylinder`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({cylinder:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions];if(n.length===0)return e.previous;if(n.length===1){let t=e.mouse;t&&n.push(t)}if(n.length<2)return e.previous;t.position=new c.ConstantPositionProperty(n[0]);let r=c.Cartesian3.distance(n[0],n[1]);return t.cylinder.bottomRadius=new c.CallbackProperty(()=>r,!1),(e.defining||!(0,l.toPropertyValue)(t.cylinder.length))&&(t.cylinder.length=(0,l.toProperty)(r*2)),{entities:[t]}}}),te=new m({type:`Ellipse`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({ellipse:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions];if(n.length===0)return e.previous;if(n.length===1){let t=e.mouse;t&&n.push(t)}if(n.length<2)return e.previous;t.position=new c.ConstantPositionProperty(n[0]);let r=c.Cartesian3.distance(n[0],n[1]);return t.ellipse.semiMinorAxis=new c.CallbackProperty(()=>r||1,!1),t.ellipse.semiMajorAxis=t.ellipse.semiMinorAxis,{entities:[t]}}}),W=new m({type:`Label`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({label:{text:`Label`}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),G=new m({type:`Point`,complete:e=>e.positions.length>=1,skeletons:[O],initRender(){return{entities:[new c.Entity({point:{pixelSize:10,color:c.Color.RED}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions[0]??e.mouse;return t.position=new c.CallbackPositionProperty(()=>n,!0),{entities:[t]}}}),K=new m({type:`Polygon`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,E],initRender:()=>({entities:[new c.Entity({polyline:{},polygon:{}})]}),render(e){let{mouse:t,packable:n}=e,r=e.previous.entities[0],i=[...n.positions??[]];return t&&i.push(t),i.length===2?(r.polygon.hierarchy=void 0,r.polyline.positions=new c.CallbackProperty(()=>i,!1)):i.length>=3?(r.polyline.positions=void 0,r.polygon.hierarchy=new c.CallbackProperty(()=>(i.push(i[0]),i.length>=3?new c.PolygonHierarchy([...i]):void 0),!1)):(r.polygon.hierarchy=void 0,r.polyline.positions=void 0),{entities:[r]}}}),q=new m({type:`PolygonArc`,complete:e=>e.positions.length>=3,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;n.length<3&&e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arc)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),J=new m({type:`PolygonArrowAttackDirection`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowAttackDirection)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),Y=new m({type:`PolygonArrowAttackDirectionTailed`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<3)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowAttackDirectionTailed)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),X=new m({type:`PolygonArrowClamped`,complete:e=>e.positions.length>=5,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<5){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=3){let e=new c.PolygonHierarchy((0,f.arrowClamped)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),Z=new m({type:`PolygonArrowStraight`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<2){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=2){let e=new c.PolygonHierarchy((0,f.arrowStraight)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),Q=new m({type:`PolygonArrowStraightSharp`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;if(n.length<2){let t=e.mouse;t&&n.push(t.clone())}let r=n.map(e=>(0,l.toCoord)(e));if(r.length>=2){let e=new c.PolygonHierarchy((0,f.arrowStraightSharp)(r).map(e=>(0,l.toCartesian3)(e)));t.polygon.hierarchy=new c.CallbackProperty(()=>e,!1)}else t.polygon.hierarchy=void 0;return{entities:[t]}}}),$=new m({type:`PolygonArrowUnitCombatOperation`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowUnitCombatOperation)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),ne=new m({type:`PolygonArrowUnitCombatOperationTailed`,allowManualComplete:e=>e.positions.length>=2,skeletons:[O,T,E],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;let i=new c.PolygonHierarchy((0,f.arrowUnitCombatOperationTailed)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),re=new m({type:`PolygonAssemblingPlace`,complete:e=>e.positions.length>=3,skeletons:[O,T,E],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions;e.mouse&&n.push(e.mouse.clone());let r=n.map(e=>(0,l.toCoord)(e));if(r.length<2)return t.polygon.hierarchy=void 0,e.previous;if(r.length===2){let e=(0,l.toCartographic)(r[0]),t=(0,l.toCartographic)(r[1]),n=e.latitude,i=e.height,a=t.longitude-(e.longitude-t.longitude);r.push((0,l.toCoord)(new c.Cartographic(a,n,i)))}let i=new c.PolygonHierarchy((0,f.assemblingPlace)(r).map(e=>(0,l.toCartesian3)(e)));return t.polygon.hierarchy=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),ie=new m({type:`PolygonSmooth`,allowManualComplete:e=>e.positions.length>=3,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polygon:{}})]}},render(e){let t=e.previous.entities[0],n=e.packable.positions,r=e.mouse;if(r&&n.push(r.clone()),n.length<=2)return t.polygon.hierarchy=void 0,e.previous;let i=n.map(e=>(0,l.toCoord)(e));i.push(i[0]);let{features:a}=p.polygonSmooth(p.polygon([i]),{iterations:3}),o=new c.PolygonHierarchy(a[0].geometry.coordinates[0].map(e=>(0,l.toCartesian3)(e)).filter(e=>!!e));return t.polygon.hierarchy=new c.CallbackProperty(()=>o,!1),{entities:[t]}}}),ae=new m({type:`Polyline`,allowManualComplete:e=>e.positions.length>1,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polyline:{material:c.Color.RED,width:2}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;r&&n.push(r.clone());let i=n.length>=2?n:[];return t.polyline.positions=new c.CallbackProperty(()=>i,!1),{entities:[t]}}}),oe=new m({type:`PolylineCurve`,allowManualComplete:e=>e.positions.length>1,skeletons:[O,T,D],initRender(){return{entities:[new c.Entity({polyline:{material:c.Color.RED,width:2}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;if(r&&n.push(r.clone()),n.length<2)return t.polyline.positions=void 0,e.previous;let i=n.map(e=>(0,l.toCoord)(e)),{geometry:{coordinates:a}}=p.bezierSpline(p.lineString(i));return t.polyline.positions=new c.CallbackProperty(()=>a.map(l.toCartesian3),!1),{entities:[t]}}}),se=new m({type:`Rectangle`,complete:e=>e.positions.length>=2,skeletons:[O,T],initRender(){return{entities:[new c.Entity({rectangle:{}})]}},render(e){let t=e.previous.entities[0],n=[...e.packable.positions],r=e.mouse;if(r&&n.push(r.clone()),n.length<2)return t.rectangle.coordinates=void 0,e.previous;let i=c.Rectangle.fromCartesianArray(n??[]);return t.rectangle.coordinates=new c.CallbackProperty(()=>i,!1),{entities:[t]}}});exports.PlotAction=y,exports.PlotFeature=v,exports.PlotScheme=m,exports.PlotSchemeBillboard=V,exports.PlotSchemeBillboardPinBuilder=H,exports.PlotSchemeCylinder=U,exports.PlotSchemeEllipse=te,exports.PlotSchemeLabel=W,exports.PlotSchemePoint=G,exports.PlotSchemePolygon=K,exports.PlotSchemePolygonArc=q,exports.PlotSchemePolygonArrowAttackDirection=J,exports.PlotSchemePolygonArrowAttackDirectionTailed=Y,exports.PlotSchemePolygonArrowClamped=X,exports.PlotSchemePolygonArrowStraight=Z,exports.PlotSchemePolygonArrowStraightSharp=Q,exports.PlotSchemePolygonArrowUnitCombatOperation=$,exports.PlotSchemePolygonArrowUnitCombatOperationTailed=ne,exports.PlotSchemePolygonAssemblingPlace=re,exports.PlotSchemePolygonSmooth=ie,exports.PlotSchemePolyline=ae,exports.PlotSchemePolylineCurve=oe,exports.PlotSchemeRectangle=se,exports.PlotSkeletonEntity=b,exports.SampledPlotProperty=_,exports.SampledPlotStrategy=h,exports.control=T,exports.interval=E,exports.intervalNonclosed=D,exports.moved=O,exports.schemeMeasureArea=z,exports.schemeMeasureDistance=B,exports.usePlot=w;
|
|
2
2
|
//# sourceMappingURL=index.min.cjs.map
|