@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 30.6 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9616],{5443(t,e,n){n.d(e,{A:()=>p});var i,r=n(5482),s=n(799),o=n(91429),a=n(91075),h=n(86738),l=n(16930),u=n(94078),m=n(12176),c=n(21325),f=n(28735);function x(t,e,n){return null==e?n:null==n?e:t(e,n)}let p=i=class extends a.A{constructor(...t){super(...t),this.type="extent",this.xmin=0,this.ymin=0,this.mmin=void 0,this.zmin=void 0,this.xmax=0,this.ymax=0,this.mmax=void 0,this.zmax=void 0}normalizeCtorArgs(t,e,n,i,r){return function(t){return t&&("esri.geometry.SpatialReference"===t.declaredClass||null!=t.wkid)}(t)?{spatialReference:t,xmin:0,ymin:0,xmax:0,ymax:0}:"object"==typeof t?(t.spatialReference=null==t.spatialReference?l.A.WGS84:t.spatialReference,t):{xmin:t,ymin:e,xmax:n,ymax:i,spatialReference:r??l.A.WGS84}}static fromPoint(t){return new i({xmin:t.x,ymin:t.y,zmin:t.z,xmax:t.x,ymax:t.y,zmax:t.z,spatialReference:t.spatialReference})}get cache(){return this.commitProperty("xmin"),this.commitProperty("ymin"),this.commitProperty("zmin"),this.commitProperty("mmin"),this.commitProperty("xmax"),this.commitProperty("ymax"),this.commitProperty("zmax"),this.commitProperty("mmax"),this.commitProperty("spatialReference"),{}}get center(){const t=new h.A({x:.5*(this.xmin+this.xmax),y:.5*(this.ymin+this.ymax),spatialReference:this.spatialReference});return this.hasZ&&(t.z=.5*(this.zmin+this.zmax)),this.hasM&&(t.m=.5*(this.mmin+this.mmax)),t}get extent(){return this.clone()}get hasM(){return null!=this.mmin&&null!=this.mmax}get hasZ(){return null!=this.zmin&&null!=this.zmax}get height(){return Math.abs(this.ymax-this.ymin)}get width(){return Math.abs(this.xmax-this.xmin)}centerAt(t){const e=this.center;return null!=t.z&&this.hasZ?this.offset(t.x-e.x,t.y-e.y,t.z-e.z):this.offset(t.x-e.x,t.y-e.y)}clone(){const t=new i;return t.xmin=this.xmin,t.ymin=this.ymin,t.xmax=this.xmax,t.ymax=this.ymax,t.spatialReference=this.spatialReference,null!=this.zmin&&(t.zmin=this.zmin,t.zmax=this.zmax),null!=this.mmin&&(t.mmin=this.mmin,t.mmax=this.mmax),t}contains(t){if(!t)return!1;const e=this.spatialReference,n=t.spatialReference;return e&&n&&!e.equals(n)&&(0,f.y7)(e,n)&&(t=e.isWebMercator?(0,f.Gh)(t):(0,f.ci)(t,!0)),"point"===t.type?(0,u.qz)(this,t):"extent"===t.type&&(0,u.gH)(this,t)}equals(t){if(this===t)return!0;if(null==t)return!1;const e=this.spatialReference,n=t.spatialReference;return e&&n&&!e.equals(n)&&(0,f.y7)(e,n)&&(t=e.isWebMercator?(0,f.Gh)(t):(0,f.ci)(t,!0)),this.xmin===t.xmin&&this.ymin===t.ymin&&this.zmin===t.zmin&&this.mmin===t.mmin&&this.xmax===t.xmax&&this.ymax===t.ymax&&this.zmax===t.zmax&&this.mmax===t.mmax}expand(t){const e=.5*(1-t),n=this.width*e,i=this.height*e;if(this.xmin+=n,this.ymin+=i,this.xmax-=n,this.ymax-=i,this.hasZ){const t=(this.zmax-this.zmin)*e;this.zmin+=t,this.zmax-=t}if(this.hasM){const t=(this.mmax-this.mmin)*e;this.mmin+=t,this.mmax-=t}return this}intersects(t){if(null==t)return!1;"mesh"===t.type&&(t=t.extent);const e=this.spatialReference,n=t.spatialReference;return e&&n&&!(0,c.aI)(e,n)&&(0,f.y7)(e,n)&&(t=e.isWebMercator?(0,f.Gh)(t):(0,f.ci)(t,!0)),(0,m.xK)(t.type)(this,t)}normalize(){const t=this._normalize(!1,!0);return Array.isArray(t)?t:[t]}offset(t,e,n){return this.xmin+=t,this.ymin+=e,this.xmax+=t,this.ymax+=e,null!=n&&(this.zmin+=n,this.zmax+=n),this}shiftCentralMeridian(){return this._normalize(!0)}union(t){return this===t||(this.xmin=Math.min(this.xmin,t.xmin),this.ymin=Math.min(this.ymin,t.ymin),this.xmax=Math.max(this.xmax,t.xmax),this.ymax=Math.max(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=x(Math.min,this.zmin,t.zmin),this.zmax=x(Math.max,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=x(Math.min,this.mmin,t.mmin),this.mmax=x(Math.max,this.mmax,t.mmax))),this}intersection(t){return this===t?this:null!=t&&this.intersects(t)?(this.xmin=Math.max(this.xmin,t.xmin),this.ymin=Math.max(this.ymin,t.ymin),this.xmax=Math.min(this.xmax,t.xmax),this.ymax=Math.min(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=x(Math.max,this.zmin,t.zmin),this.zmax=x(Math.min,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=x(Math.max,this.mmin,t.mmin),this.mmax=x(Math.min,this.mmax,t.mmax)),this):null}toJSON(t){return this.write({},t)}_shiftCM(t=(0,c.Vp)(this.spatialReference)){if(!t||!this.spatialReference)return this;const e=this.spatialReference,n=this._getCM(t);if(n){const i=e.isWebMercator?(0,f.ci)(n):n;this.xmin-=n.x,this.xmax-=n.x,e.isWebMercator||(i.x=y(i.x,t).x),this.spatialReference=new l.A((0,s.HC)((e.isWGS84?t.altTemplate:null)??t.wkTemplate,{Central_Meridian:i.x}))}return this}_getCM(t){let e=null;const[n,i]=t.valid,r=this.xmin,s=this.xmax;return r>=n&&r<=i&&s>=n&&s<=i||(e=this.center),e}_normalize(t,e,n){const i=this.spatialReference;if(!i)return this;const r=n??(0,c.Vp)(i);if(null==r)return this;const s=this._getParts(r).map(t=>t.extent);if(s.length<2)return s[0]||this;if(s.length>2)return t?this._shiftCM(r):this.set({xmin:r.valid[0],xmax:r.valid[1]});if(t)return this._shiftCM(r);if(e)return s;let o=!0,a=!0;return s.forEach(t=>{t.hasZ||(o=!1),t.hasM||(a=!1)}),{rings:s.map(t=>{const e=[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]];if(o){const n=(t.zmax-t.zmin)/2;for(let t=0;t<e.length;t++)e[t].push(n)}if(a){const n=(t.mmax-t.mmin)/2;for(let t=0;t<e.length;t++)e[t].push(n)}return e}),hasZ:o,hasM:a,spatialReference:i}}_getParts(t){let e=this.cache._parts;if(!e){e=[];const{ymin:n,ymax:r,spatialReference:s}=this,o=this.width,a=this.xmin,h=this.xmax;let l;t=t||(0,c.Vp)(s);const[u,m]=t.valid;l=y(this.xmin,t);const f=l.x,x=l.frameId;l=y(this.xmax,t);const p=l.x,d=l.frameId,g=f===p&&o>0;if(o>2*m){const t=new i(a<h?f:p,n,m,r,s),o=new i(u,n,a<h?p:f,r,s),l=new i(0,n,m,r,s),c=new i(u,n,0,r,s),y=[],g=[];t.contains(l)&&y.push(x),t.contains(c)&&g.push(x),o.contains(l)&&y.push(d),o.contains(c)&&g.push(d);for(let t=x+1;t<d;t++)y.push(t),g.push(t);e.push({extent:t,frameIds:[x]},{extent:o,frameIds:[d]},{extent:l,frameIds:y},{extent:c,frameIds:g})}else f>p||g?e.push({extent:new i(f,n,m,r,s),frameIds:[x]},{extent:new i(u,n,p,r,s),frameIds:[d]}):e.push({extent:new i(f,n,p,r,s),frameIds:[x]});this.cache._parts=e}const n=this.hasZ,r=this.hasM;if(n||r){const t={};n&&(t.zmin=this.zmin,t.zmax=this.zmax),r&&(t.mmin=this.mmin,t.mmax=this.mmax);for(let n=0;n<e.length;n++)e[n].extent.set(t)}return e}};function y(t,e){const[n,i]=e.valid,r=2*i;let s,o=0;return t>i?(s=Math.ceil(Math.abs(t-i)/r),t-=s*r,o=s):t<n&&(s=Math.ceil(Math.abs(t-n)/r),t+=s*r,o=-s),{x:t,frameId:o}}(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"center",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0,json:{write:{enabled:!1,overridePolicy:null}}})],p.prototype,"hasM",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0,json:{write:{enabled:!1,overridePolicy:null}}})],p.prototype,"hasZ",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"height",null),(0,r.Cg)([(0,o.MZ)({type:l.A,json:{write:!0},value:l.A.WGS84})],p.prototype,"spatialReference",void 0),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],p.prototype,"width",null),(0,r.Cg)([(0,o.MZ)({type:Number,json:{type:[Number,String],write:{enabled:!0,allowNull:!0}}})],p.prototype,"xmin",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],p.prototype,"ymin",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{origins:{"web-scene":{write:!1}},read:t=>t??void 0,write:{overridePolicy(){return{enabled:this.hasM}}}}})],p.prototype,"mmin",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{origins:{"web-scene":{write:!1}},write:{overridePolicy(){return{enabled:this.hasZ}}}}})],p.prototype,"zmin",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],p.prototype,"xmax",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],p.prototype,"ymax",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{origins:{"web-scene":{write:!1}},read:t=>t??void 0,write:{overridePolicy(){return{enabled:this.hasM}}}}})],p.prototype,"mmax",void 0),(0,r.Cg)([(0,o.MZ)({type:Number,json:{origins:{"web-scene":{write:!1}},write:{overridePolicy(){return{enabled:this.hasZ}}}}})],p.prototype,"zmax",void 0),p=i=(0,r.Cg)([(0,o.$K)("esri.geometry.Extent")],p),p.prototype.toJSON.isDefaultToJSON=!0},5482(t,e,n){function i(t,e,n,i){var r,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,n,o):r(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function r(t,e,n){if(null!=e){if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=e[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=e[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(t){return Promise.reject(t)}}),t.stack.push({value:e,dispose:i,async:n})}else n&&t.stack.push({async:!0});return e}n.d(e,{Cg:()=>i,hk:()=>o,mS:()=>r}),Object.create,Object.create;var s="function"==typeof SuppressedError?SuppressedError:function(t,e,n){var i=new Error(n);return i.name="SuppressedError",i.error=t,i.suppressed=e,i};function o(t){function e(e){t.error=t.hasError?new s(e,t.error,"An error was suppressed during disposal."):e,t.hasError=!0}var n,i=0;return function r(){for(;n=t.stack.pop();)try{if(!n.async&&1===i)return i=0,t.stack.push(n),Promise.resolve().then(r);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return i|=2,Promise.resolve(s).then(r,function(t){return e(t),r()})}else i|=1}catch(t){e(t)}if(1===i)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}()}},12176(t,e,n){n.d(e,{Ql:()=>y,fA:()=>f,xB:()=>s,xK:()=>d});var i=n(94078);function r(t,e){return(0,i.qz)(t,e)}function s(t,e){const n=t.hasZ&&e.hasZ;let i,r,s;if(t.xmin<=e.xmin){if(i=e.xmin,t.xmax<i)return!1}else if(i=t.xmin,e.xmax<i)return!1;if(t.ymin<=e.ymin){if(r=e.ymin,t.ymax<r)return!1}else if(r=t.ymin,e.ymax<r)return!1;if(n&&e.hasZ)if(t.zmin<=e.zmin){if(s=e.zmin,t.zmax<s)return!1}else if(s=t.zmin,e.zmax<s)return!1;return!0}function o(t,e){const{points:n,hasZ:r}=e,s=r?i.F8:i.CW;for(const e of n)if(s(t,e))return!0;return!1}const a=[0,0],h=[0,0],l=[0,0],u=[0,0],m=[a,h,l,u],c=[[l,a],[a,h],[h,u],[u,l]];function f(t,e){return function(t,e){a[0]=t.xmin,a[1]=t.ymax,h[0]=t.xmax,h[1]=t.ymax,l[0]=t.xmin,l[1]=t.ymin,u[0]=t.xmax,u[1]=t.ymin;for(const t of m)if((0,i.t1)(e,t))return!0;for(const n of e){if(!n.length)continue;let e=n[0];if((0,i.CW)(t,e))return!0;for(let r=1;r<n.length;r++){const s=n[r];if((0,i.CW)(t,s)||p(e,s,c))return!0;e=s}}return!1}(t,e.rings)}function x(t,e){a[0]=t.xmin,a[1]=t.ymax,h[0]=t.xmax,h[1]=t.ymax,l[0]=t.xmin,l[1]=t.ymin,u[0]=t.xmax,u[1]=t.ymin;const n=e.paths;for(const e of n){if(!n.length)continue;let r=e[0];if((0,i.CW)(t,r))return!0;for(let n=1;n<e.length;n++){const s=e[n];if((0,i.CW)(t,s)||p(r,s,c))return!0;r=s}}return!1}function p(t,e,n){for(let i=0;i<n.length;i++)if(y(t,e,n[i][0],n[i][1]))return!0;return!1}function y(t,e,n,i,r){const[s,o]=t,[a,h]=e,[l,u]=n,[m,c]=i,f=m-l,x=s-l,p=a-s,y=c-u,d=o-u,g=h-o,M=y*p-f*g;if(0===M)return!1;const w=(f*d-y*x)/M,z=(p*d-g*x)/M;return w>=0&&w<=1&&z>=0&&z<=1&&(r&&(r[0]=s+w*(a-s),r[1]=o+w*(h-o)),!0)}function d(t){switch(t){case"esriGeometryEnvelope":case"extent":return s;case"esriGeometryMultipoint":case"multipoint":return o;case"esriGeometryPoint":case"point":return r;case"esriGeometryMultiPatch":case"multipatch":case"esriGeometryPolygon":case"polygon":return f;case"esriGeometryPolyline":case"polyline":return x}}},19419(t,e,n){n.d(e,{$9:()=>z,HY:()=>w,IO:()=>m,Ie:()=>b,Rj:()=>M,VL:()=>x,VY:()=>a,Wc:()=>y,aI:()=>R,bx:()=>c,fA:()=>o,fT:()=>f,gR:()=>v,gX:()=>d,ib:()=>g,nw:()=>u,qv:()=>Z,tK:()=>l,uJ:()=>p,vt:()=>r,w1:()=>h}),n(34727);var i=n(5443);function r(t=P){return[t[0],t[1],t[2],t[3]]}function s(t,e){return t!==e&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3]),t}function o(t,e,n,i,s=r()){return s[0]=t,s[1]=e,s[2]=n,s[3]=i,s}function a(t,e=r()){return e[0]=t.xmin,e[1]=t.ymin,e[2]=t.xmax,e[3]=t.ymax,e}function h(t,e,n=new i.A){return n.xmin=t[0],n.ymin=t[1],n.xmax=t[2],n.ymax=t[3],n.spatialReference=e,n}function l(t,e){e[0]<t[0]&&(t[0]=e[0]),e[0]>t[2]&&(t[2]=e[0]),e[1]<t[1]&&(t[1]=e[1]),e[1]>t[3]&&(t[3]=e[1])}function u(t,e){e<t[0]&&(t[0]=e),e>t[2]&&(t[2]=e)}function m(t,e){e<t[1]&&(t[1]=e),e>t[3]&&(t[3]=e)}function c(t,{xmin:e,ymin:n,xmax:i,ymax:r}){t[0]=Math.min(t[0],e),t[1]=Math.min(t[1],n),t[2]=Math.max(t[2],i),t[3]=Math.max(t[3],r)}function f(t,e,n){if(null!=e)if("length"in e)C(e)?(n[0]=Math.min(t[0],e[0]),n[1]=Math.min(t[1],e[1]),n[2]=Math.max(t[2],e[2]),n[3]=Math.max(t[3],e[3])):2!==e.length&&3!==e.length||(n[0]=Math.min(t[0],e[0]),n[1]=Math.min(t[1],e[1]),n[2]=Math.max(t[2],e[0]),n[3]=Math.max(t[3],e[1]));else switch(e.type){case"extent":n[0]=Math.min(t[0],e.xmin),n[1]=Math.min(t[1],e.ymin),n[2]=Math.max(t[2],e.xmax),n[3]=Math.max(t[3],e.ymax);break;case"point":n[0]=Math.min(t[0],e.x),n[1]=Math.min(t[1],e.y),n[2]=Math.max(t[2],e.x),n[3]=Math.max(t[3],e.y)}else s(n,t)}function x(t){return null==t||t[0]>=t[2]?0:t[2]-t[0]}function p(t){return null==t||t[1]>=t[3]?0:t[3]-t[1]}function y(t){return x(t)*p(t)}function d(t,e=[0,0]){return e[0]=(t[0]+t[2])/2,e[1]=(t[1]+t[3])/2,e}function g(t){const e=x(t),n=p(t);return Math.sqrt(e*e+n*n)}function M(t,e,n){return e>=t[0]&&n>=t[1]&&e<=t[2]&&n<=t[3]}function w(t,e){return Math.max(e[0],t[0])<=Math.min(e[2],t[2])&&Math.max(e[1],t[1])<=Math.min(e[3],t[3])}function z(t,e,n){return Math.max(e[0],t[0])-n<=Math.min(e[2],t[2])&&Math.max(e[1],t[1])-n<=Math.min(e[3],t[3])}function v(t,e){return e[0]>=t[0]&&e[2]<=t[2]&&e[1]>=t[1]&&e[3]<=t[3]}function b(t){return t?s(t,Z):r(Z)}function C(t){return null!=t&&4===t.length}function R(t,e){return C(t)&&C(e)?t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]:t===e}const Z=[1/0,1/0,-1/0,-1/0],P=[0,0,0,0]},21276(t,e,n){n.d(e,{H:()=>s,f:()=>r});var i=n(49186);function r(t){if(t&&"object"==typeof t&&"type"in t&&"mesh"===t.type)throw new i.A("internal:mesh","Mesh geometries are not supported for this operation")}function s(t){t.forEach(r)}},28735(t,e,n){n.d(e,{Cv:()=>y,Gh:()=>M,ci:()=>w,je:()=>d,jg:()=>m,tD:()=>g,y7:()=>p,yw:()=>u});var i=n(4718),r=n(21276),s=n(16930),o=n(79258),a=n(21325);function h(t){return 57.29577951308232*t}function l(t){return.017453292519943*t}function u(t){return t/o.$O.radius}function m(t){return Math.PI/2-2*Math.atan(Math.exp(-t/o.$O.radius))}function c(t){return null!=t.wkid||null!=t.wkt}const f=[0,0];function x(t,e,n,i,r){const s=t,o=r;if(o.spatialReference=n,"x"in s&&"x"in o)[o.x,o.y]=e(s.x,s.y,f,i);else if("xmin"in s&&"xmin"in o)[o.xmin,o.ymin]=e(s.xmin,s.ymin,f,i),[o.xmax,o.ymax]=e(s.xmax,s.ymax,f,i);else if("paths"in s&&"paths"in o||"rings"in s&&"rings"in o){const t="paths"in s?s.paths:s.rings,n=[];let r;for(let s=0;s<t.length;s++){const o=t[s];r=[],n.push(r);for(let t=0;t<o.length;t++)r.push(e(o[t][0],o[t][1],[0,0],i)),o[t].length>2&&r[t].push(o[t][2]),o[t].length>3&&r[t].push(o[t][3])}"paths"in o?o.paths=n:o.rings=n}else if("points"in s&&"points"in o){const t=s.points,n=[];for(let r=0;r<t.length;r++)n[r]=e(t[r][0],t[r][1],[0,0],i),t[r].length>2&&n[r].push(t[r][2]),t[r].length>3&&n[r].push(t[r][3]);o.points=n}return r}function p(t,e){const n=t&&(c(t)?t:t.spatialReference),i=e&&(c(e)?e:e.spatialReference);return!(t&&"type"in t&&"mesh"===t.type||e&&"type"in e&&"mesh"===e.type||!n||!i)&&(!!(0,a.aI)(i,n)||(0,a.K8)(i)&&(0,a.oT)(n)||(0,a.K8)(n)&&(0,a.oT)(i))}function y(t,e){if(null==t)return null;const n=t.spatialReference,r=e&&(c(e)?e:e.spatialReference);return p(n,r)?(0,a.aI)(n,r)?(0,i.o8)(t):(0,a.K8)(r)?x(t,d,s.A.WebMercator,!1,(0,i.o8)(t)):(0,a.oT)(r)?x(t,g,s.A.WGS84,!1,(0,i.o8)(t)):null:null}function d(t,e,n=[0,0]){e>89.99999?e=89.99999:e<-89.99999&&(e=-89.99999);const i=l(e);return n[0]=l(t)*o.$O.radius,n[1]=o.$O.halfSemiMajorAxis*Math.log((1+Math.sin(i))/(1-Math.sin(i))),n}function g(t,e,n=[0,0],i=!1){if(t===a.Mc[0])n[0]=-180;else if(t===a.Mc[1])n[0]=180;else{const e=h(t/o.$O.radius);n[0]=i?e:e-360*Math.floor((e+180)/360)}return n[1]=h(Math.PI/2-2*Math.atan(Math.exp(-e/o.$O.radius))),n}function M(t,e=!1,n=(0,i.o8)(t)){return(0,r.f)(t),(0,r.f)(n),x(t,d,s.A.WebMercator,e,n)}function w(t,e=!1,n=(0,i.o8)(t)){return(0,r.f)(t),(0,r.f)(n),x(t,g,s.A.WGS84,e,n)}},49616(t,e,n){n.r(e),n.d(e,{default:()=>l});var i=n(5482),r=n(91429),s=n(19419),o=n(69052);n(21325);var a=n(97441);let h=class{constructor(){this._tileData=new Map}async generateStreamlines(t){const{flowData:e,flowExtentInfo:n,needsMagnitude:i,simulationSettings:r,startPositions:s}=t,o=u((0,a.DE)(r,e),r,n.modelSize,i,s);return{result:{streamlines:o},transferList:o?.map(t=>t.vertices.buffer)}}async generateTiledStreamlines(t){const{flowDataTiles:e,flowExtentInfo:n,needsMagnitude:i,reset:r,simulationSettings:h,startPositions:l}=t;this._updateTileData(e,r);const m=u(function(t,e,n){const[i,r]=n.modelSize;let h=null;const l=new Map;e.forEach(e=>{l.set(e.lij,(0,a.DE)(t,e))});const u=(t,e,n)=>(0,s.Rj)(t.extent,e,n);return(a,m)=>{const c=Math.round(a),f=Math.round(m);if(!t.wrapAround&&(c<0||c>=i||f<0||f>=r))return[0,0];const[x,p]=function(t,e,n,i){const{extent:r,modelSize:a,valid:h}=t,[l,u,m]=r,c=function(t,e,n){if(null!=n&&t>e){const[i,r]=n;return r-t+(e-i)}return e-t}(l,m,h);let f=e/a[0]*c+l;return null!=h&&i&&(f=new o.hr(h[0],h[1]).normalize(f)),[f,(a[1]-n)/a[1]*(0,s.uJ)(r)+u]}(n,a,m,!0);if(!function(t,e,n){const{extent:i,valid:r}=t,[s,o,a,h]=i;return!(n<o||n>h)&&(null!=r&&s>a?e>=a||e<=s:e>=s&&e<=a)}(n,x,p))return[0,0];if(null==h||!u(h,x,p)){h=null;for(const[t,n]of e)if(u(n,x,p)){h=n;break}}if(null==h?.data)return[0,0];const y=l.get(h.lij);if(null==y)return[0,0];const{width:d,height:g,extent:M}=h;return y((x-M[0])/(0,s.VL)(M)*d,g-(p-M[1])/(0,s.uJ)(M)*g)}}(h,this._tileData,n),h,n.modelSize,i,l);return{result:{streamlines:m},transferList:m?.map(t=>t.vertices.buffer)??[]}}_updateTileData(t,e){if(e)for(const e of this._tileData.keys())t.has(e)||this._tileData.delete(e);t.forEach((t,e)=>{"delete"===t.type?this._tileData.delete(e):"on-worker"!==t.type&&"invalid"!==t.type&&this._tileData.set(e,t.data)})}};h=(0,i.Cg)([(0,r.$K)("esri.views.3d.support.flow.FlowWorker")],h);const l=h;function u(t,e,n,i,r){if(null==t)return;const s=(0,a.S1)(e,t,n[0],n[1],{positions:r}),o=[],h=function(t){return t?4:3}(i);for(const{vertices:t,stage:e}of s){const n=new Float32Array(t.length*h);for(let e=0;e<t.length;e++)n[e*h]=t[e].x,n[e*h+1]=t[e].y,n[e*h+2]=t[e].time,i&&(n[e*h+3]=t[e].speed);o.push({vertices:n,stage:e,hasMagnitude:i})}return o}},69052(t,e,n){n.d(e,{hr:()=>r,ie:()=>h,uC:()=>a});var i=n(34727);class r{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,n=!1){return s(this.range,this.min,this.max,t,e,n)}clamp(t,e=0){return(0,i.qE)(t-e,this.min,this.max)+e}monotonic(t,e,n){return t<e?e:e+o(this.range,t-e,n)}minimalMonotonic(t,e,n){return s(this.range,t,t+this.range,e,n)}center(t,e,n){return e=this.monotonic(t,e,n),this.normalize((t+e)/2,n)}diff(t,e,n){return this.monotonic(t,e,n)-t}shortestSignedDiff(t,e){t=this.normalize(t);const n=(e=this.normalize(e))-t,i=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(n)<Math.abs(i)?n:i}contains(t,e,n){return e=this.minimalMonotonic(t,e),(n=this.minimalMonotonic(t,n))>t&&n<e}}function s(t,e,n,i,r=0,s=!1){return(i-=r)<e?i+=o(t,e-i):i>n&&(i-=o(t,i-n)),s&&i===n&&(i=e),i+r}function o(t,e,n=0){return Math.ceil((e-n)/t)*t+n}const a=new r(0,2*Math.PI),h=(new r(-Math.PI,Math.PI),new r(0,360))},86738(t,e,n){n.d(e,{A:()=>M});var i=n(5482),r=n(69622),s=n(53966),o=n(91429),a=n(56507),h=n(91075),l=n(16930),u=n(21325),m=n(28735);function c({x:t,y:e,spatialReference:n},i=[0,0]){if(n){if((0,u.K8)(n))return(0,m.tD)(t,e,i);if((0,u.EA)(n))return i[0]=t,i[1]=e,i}return null}const f=[0,0];var x,p=n(43937),y=n(36005);const d=[0,0];function g(t){return t&&("esri.geometry.SpatialReference"===t.declaredClass||null!=t.wkid)}let M=x=class extends h.A{static copy(t,e){e._set("x",t._get("x")),e._set("y",t._get("y")),e._set("z",t._get("z")),e._set("m",t._get("m"));const n=t._get("spatialReference");e._set("spatialReference",r.A.isFrozen(n)?n:n.clone())}constructor(...t){super(...t),this.x=0,this.y=0,this.z=void 0,this.m=void 0,this.type="point"}normalizeCtorArgs(t,e,n,i,r){let o;if(Array.isArray(t))o=t,r=e,t=o[0],e=o[1],n=o[2],i=o[3];else if(t&&"object"==typeof t){if(o=t,t=null!=o.x?o.x:o.longitude,e=null!=o.y?o.y:o.latitude,n=o.z,i=o.m,(r=o.spatialReference)&&"esri.geometry.SpatialReference"!==r.declaredClass&&(r=new l.A(r)),null!=o.longitude||null!=o.latitude)if(null==o.longitude)s.A.getLogger(this).warn(".longitude=","Latitude was defined without longitude");else if(null==o.latitude)s.A.getLogger(this).warn(".latitude=","Longitude was defined without latitude");else if(!o.declaredClass&&r?.isWebMercator){const n=(0,m.je)(o.longitude,o.latitude,d);t=n[0],e=n[1]}}else g(n)?(r=n,n=null):g(i)&&(r=i,i=null);const a={x:t,y:e};return null==a.x&&null!=a.y?s.A.getLogger(this).warn(".y=","Y coordinate was defined without an X coordinate"):null==a.y&&null!=a.x&&s.A.getLogger(this).warn(".x=","X coordinate was defined without a Y coordinate"),null!=r&&(a.spatialReference=r),null!=n&&(a.z=n),null!=i&&(a.m=i),a}get cache(){return this.commitProperty("x"),this.commitProperty("y"),this.commitProperty("z"),this.commitProperty("m"),this.commitProperty("spatialReference"),{}}get hasM(){return void 0!==this.m}set hasM(t){t!==(void 0!==this._get("m"))&&(this._set("m",t?0:void 0),this._set("hasM",t))}get hasZ(){return void 0!==this.z}set hasZ(t){t!==(void 0!==this._get("z"))&&(this._set("z",t?0:void 0),this._set("hasZ",t))}get latitude(){return t=this,c(t,f)?.[1]??null;var t}set latitude(t){const{spatialReference:e,x:n}=this;null!=t&&e&&(e.isWebMercator?this._set("y",(0,m.je)(n,t,d)[1]):e.isGeographic&&this._set("y",t),this._set("latitude",t))}get longitude(){return t=this,c(t,f)?.[0]??null;var t}set longitude(t){const{y:e,spatialReference:n}=this;null!=t&&n&&(n.isWebMercator?this._set("x",(0,m.je)(t,e,d)[0]):n.isGeographic&&this._set("x",t),this._set("longitude",t))}writeX(t,e,n){e[n]=isNaN(t)?"NaN":t}readX(t){return"string"==typeof t?NaN:t}clone(){const t=new x;return t.x=this.x,t.y=this.y,t.z=this.z,t.m=this.m,t.spatialReference=this.spatialReference,t}copy(t){return x.copy(t,this),this}equals(t){if(null==t)return!1;const{x:e,y:n,z:i,m:r,spatialReference:s}=this,{z:o,m:a}=t;let{x:h,y:l,spatialReference:u}=t;if(!s.equals(u))if(s.isWebMercator&&u.isWGS84)[h,l]=(0,m.je)(h,l),u=s;else{if(!s.isWGS84||!u.isWebMercator)return!1;[h,l]=(0,m.tD)(h,l),u=s}return e===h&&n===l&&i===o&&r===a&&s.wkid===u.wkid}offset(t,e,n){return this.x+=t,this.y+=e,null!=n&&(this.z=(this.z??0)+n),this}normalize(){if(!this.spatialReference)return this;const t=(0,u.Vp)(this.spatialReference);if(!t)return this;let e=this.x;const[n,i]=t.valid,r=2*i;let s;return e>i?(s=Math.ceil(Math.abs(e-i)/r),e-=s*r):e<n&&(s=Math.ceil(Math.abs(e-n)/r),e+=s*r),this._set("x",e),this}distance(t){return function(t,e){const n=t.x-e.x,i=t.y-e.y,r=null!=t.z&&null!=e.z?t.z-e.z:0;return Math.sqrt(n*n+i*i+r*r)}(this,t)}toArray(){const t=this.hasZ,e=this.hasM;return t&&e?[this.x,this.y,this.z,this.m]:t?[this.x,this.y,this.z]:e?[this.x,this.y,this.m]:[this.x,this.y]}toJSON(t){return this.write({},t)}};(0,i.Cg)([(0,o.MZ)({readOnly:!0})],M.prototype,"cache",null),(0,i.Cg)([(0,o.MZ)({type:Boolean,json:{read:!1,write:{enabled:!1,overridePolicy:null}}})],M.prototype,"hasM",null),(0,i.Cg)([(0,o.MZ)({type:Boolean,json:{read:!1,write:{enabled:!1,overridePolicy:null}}})],M.prototype,"hasZ",null),(0,i.Cg)([(0,o.MZ)({type:Number})],M.prototype,"latitude",null),(0,i.Cg)([(0,o.MZ)({type:Number})],M.prototype,"longitude",null),(0,i.Cg)([(0,o.MZ)({type:Number,json:{type:[Number,String],write:{isRequired:!0,allowNull:!0}}}),(0,o.wg)(t=>isNaN(t)?t:(0,a.GB)(t))],M.prototype,"x",void 0),(0,i.Cg)([(0,p.K)("x")],M.prototype,"writeX",null),(0,i.Cg)([(0,y.w)("x")],M.prototype,"readX",null),(0,i.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],M.prototype,"y",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,json:{write:{overridePolicy(){return{enabled:this.hasZ}}}}})],M.prototype,"z",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,json:{write:{overridePolicy(){return{enabled:this.hasM}}}}})],M.prototype,"m",void 0),M=x=(0,i.Cg)([(0,o.$K)("esri.geometry.Point")],M),M.prototype.toJSON.isDefaultToJSON=!0},91075(t,e,n){n.d(e,{A:()=>h});var i=n(5482),r=n(25482),s=n(91429),o=n(16930),a=n(36005);let h=class extends r.o{constructor(...t){super(...t),this.type=null,this.hasM=!1,this.hasZ=!1,this.spatialReference=o.A.WGS84}get cache(){return this.commitProperty("spatialReference"),{}}get extent(){return null}readSpatialReference(t,e){if(t instanceof o.A)return t;if(null!=t){const n=new o.A;return n.read(t,e),n}return t}clone(){return console.warn(".clone() is not implemented for "+this.declaredClass),null}clearCache(){this.notifyChange("cache")}getCacheValue(t){return this.cache[t]}setCacheValue(t,e){this.cache[t]=e}};(0,i.Cg)([(0,s.MZ)()],h.prototype,"type",void 0),(0,i.Cg)([(0,s.MZ)({readOnly:!0})],h.prototype,"cache",null),(0,i.Cg)([(0,s.MZ)({readOnly:!0})],h.prototype,"extent",null),(0,i.Cg)([(0,s.MZ)({type:Boolean,json:{write:{overridePolicy:t=>({enabled:t})}}})],h.prototype,"hasM",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,json:{write:{overridePolicy:t=>({enabled:t})}}})],h.prototype,"hasZ",void 0),(0,i.Cg)([(0,s.MZ)({type:o.A,json:{write:!0},value:o.A.WGS84})],h.prototype,"spatialReference",void 0),(0,i.Cg)([(0,a.w)("spatialReference")],h.prototype,"readSpatialReference",null),h=(0,i.Cg)([(0,s.$K)("esri.geometry.Geometry")],h)},94078(t,e,n){n.d(e,{CW:()=>a,F8:()=>h,gH:()=>o,m3:()=>u,qz:()=>r,rL:()=>s,t1:()=>m});const i=[0,0];function r(t,e){return null!=e&&l(t,e.x,e.y,e.z)}function s(t,e){if(!e.points?.length)return!1;for(const n of e.points)if(!a(t,n))return!1;return!0}function o(t,e){const{xmin:n,ymin:i,zmin:r,xmax:s,ymax:o,zmax:a}=e;return t.hasZ&&e.hasZ?l(t,n,i,r)&&l(t,n,o,r)&&l(t,s,o,r)&&l(t,s,i,r)&&l(t,n,i,a)&&l(t,n,o,a)&&l(t,s,o,a)&&l(t,s,i,a):l(t,n,i)&&l(t,n,o)&&l(t,s,o)&&l(t,s,i)}function a(t,e){return l(t,e[0],e[1])}function h(t,e){return l(t,e[0],e[1],e[2])}function l(t,e,n,i){return e>=t.xmin&&e<=t.xmax&&n>=t.ymin&&n<=t.ymax&&(null==i||!t.hasZ||i>=t.zmin&&i<=t.zmax)}function u(t,e){return i[1]=e.y,i[0]=e.x,function(t,e){return m(t.rings,e)}(t,i)}function m(t,e){if(!t||t.length<1)return!1;if(function(t){return!Array.isArray(t[0][0])}(t))return c(!1,t,e);let n=!1;for(let i=0,r=t.length;i<r;i++)n=c(n,t[i],e);return n}function c(t,e,n){const[i,r]=n;let s=t,o=0;for(let t=0,n=e.length;t<n;t++){o++,o===n&&(o=0);const[a,h]=e[t],[l,u]=e[o];(h<r&&u>=r||u<r&&h>=r)&&a+(r-h)/(u-h)*(l-a)<i&&(s=!s)}return s}},97441(t,e,n){n.d(e,{DE:()=>h,S1:()=>o,dF:()=>a}),n(44208),n(53966);var i=n(34727),r=n(87811),s=n(78659);function o(t,e,n,i,s){if(t.density<=0)return[];const{positions:o}=s,a=[],h=new r.A,m=1/Math.max(t.lineCollisionWidth,1),c=Math.round(n*m),f=Math.round(i*m),x=new Int32Array(c*f);for(let t=0;t<x.length;t++)x[t]=-1;const p={raster:x,width:c,height:f,resolutionFactor:m},y={},d=t.lineSpacing/Math.sqrt(t.density),g=Math.floor(i/d),M=Math.floor(n/d);for(let t=0;t<g;t++){const e=t*d;for(let n=0;n<M;n++){const i=n*d;y[`${n}-${t}`]={x:i,y:e,positions:[]}}}for(const{x:t,y:e}of o){const n=y[`${Math.floor(t/d)}-${Math.floor(e/d)}`];n&&n.positions.push([t,e])}const w=[];for(const t in y){const e=y[t];if(0===e.positions.length)w.push({x:e.x+d/2,y:e.y+d/2,sort:.66+.33*h.getFloat(),stage:0});else{const[t]=e.positions.splice(0,1);w.push({x:t[0],y:t[1],sort:.33*h.getFloat(),stage:1});for(const[t,n]of e.positions)w.push({x:t,y:n,sort:.33+.33*h.getFloat(),stage:2})}}w.sort((t,e)=>t.sort-e.sort);for(const{x:r,y:s,stage:o}of w){if(a.length>=t.maxNumberOfStreamlines)break;const m=t.onlyForwardTracing?l(1,t,e,r,s,[n,i],a.length,p):u(t,e,r,s,[n,i],a.length,h,p);m.length<2||a.push({stage:o,vertices:m})}return a}function a(t){for(let e=0;e<t.mask.length;e++)0===t.mask[e]&&(t.data[2*e]=0,t.data[2*e+1]=0)}function h(t,e){const n=function(t,e,n,i){if(0===i)return t;const r=Math.round(3*i),s=new Array(2*r+1);let o=0;for(let t=-r;t<=r;t++){const e=Math.exp(-t*t/(i*i));s[t+r]=e,o+=e}for(let t=-r;t<=r;t++)s[t+r]/=o;const a=new Float32Array(t.length);for(let i=0;i<n;i++)for(let n=0;n<e;n++){let o=0,h=0;for(let a=-r;a<=r;a++){if(n+a<0||n+a>=e)continue;const l=s[a+r];o+=l*t[2*(i*e+(n+a))],h+=l*t[2*(i*e+(n+a))+1]}a[2*(i*e+n)]=o,a[2*(i*e+n)+1]=h}const h=new Float32Array(t.length);for(let t=0;t<e;t++)for(let i=0;i<n;i++){let o=0,l=0;for(let h=-r;h<=r;h++){if(i+h<0||i+h>=n)continue;const u=s[h+r];o+=u*a[2*((i+h)*e+t)],l+=u*a[2*((i+h)*e+t)+1]}h[2*(i*e+t)]=o,h[2*(i*e+t)+1]=l}return h}(e.data,e.width,e.height,t.smoothing);return t.interpolate?(t,i)=>{const r=Math.floor(t),s=Math.floor(i);if(r<0||r>=e.width)return[0,0];if(s<0||s>=e.height)return[0,0];const o=t-r,a=i-s,h=r,l=s,u=r<e.width-1?r+1:r,m=s<e.height-1?s+1:s,c=n[2*(l*e.width+h)],f=n[2*(l*e.width+u)],x=n[2*(m*e.width+h)],p=n[2*(m*e.width+u)],y=n[2*(l*e.width+h)+1],d=n[2*(l*e.width+u)+1];return[(c*(1-a)+x*a)*(1-o)+(f*(1-a)+p*a)*o,(y*(1-a)+n[2*(m*e.width+h)+1]*a)*(1-o)+(d*(1-a)+n[2*(m*e.width+u)+1]*a)*o]}:(t,i)=>{const r=Math.round(t),s=Math.round(i);return r<0||r>=e.width||s<0||s>=e.height?[0,0]:[n[2*(s*e.width+r)],n[2*(s*e.width+r)+1]]}}function l(t,e,n,r,o,a,h,l){const u=[],{raster:m,width:c,height:f,resolutionFactor:x}=l;let p=r,y=o,d=(0,s.Kp)(0),[g,M]=n(p,y);g*=e.velocityScale,M*=e.velocityScale;const w=Math.sqrt(g*g+M*M);let z,v;u.push({x:p,y,time:d,speed:w});for(let r=0;r<e.verticesPerLine;r++){let[r,o]=n(p,y);r*=e.velocityScale,o*=e.velocityScale;const l=Math.sqrt(r*r+o*o);if(l<e.minSpeedThreshold)return u;const g=t*r/l,M=t*o/l;p+=g*e.segmentLength,y+=M*e.segmentLength,e.wrapAround&&(p=(0,i.OS)(p,a[0]));const w=t*e.segmentLength/l;if(d=(0,s.Kp)(d+w),Math.acos(g*z+M*v)>e.maxTurnAngle)return u;if(e.collisions){let t=Math.round(p*x);const n=Math.round(y*x);if(e.wrapAround&&(t=(0,i.OS)(t,c)),t<0||t>c-1||n<0||n>f-1)return u;const r=m[n*c+t];if(-1!==r&&r!==h)return u;m[n*c+t]=h}u.push({x:p,y,time:d,speed:l}),z=g,v=M}return u}function u(t,e,n,i,r,s,o,a){const h=Math.round((.2+.6*o.getFloat())*t.verticesPerLine),u=t.verticesPerLine-h,m=l(-1,{...t,verticesPerLine:u},e,n,i,r,s,a),c=l(1,{...t,verticesPerLine:h},e,n,i,r,s,a),f=m.reverse();return f.splice(-1,1),f.concat(c)}n(5443),n(21325)}}]);