@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 5.44 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{clamp as n,floatEqualUlp as t}from"../../core/mathUtils.js";import r from"../Extent.js";function i(n){return n}function u(n=W){return i([n[0],n[1],n[2],n[3]])}function a(n){return i([n[0],n[1],n[2],n[3]])}function e(n,t){return n!==t&&(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3]),n}function o(n,t,r,i,a=u()){return a[0]=n,a[1]=t,a[2]=r,a[3]=i,a}function c(n,t=u()){return t[0]=n.xmin,t[1]=n.ymin,t[2]=n.xmax,t[3]=n.ymax,t}function m(n,t,i=new r){return i.xmin=n[0],i.ymin=n[1],i.xmax=n[2],i.ymax=n[3],i.spatialReference=t,i}function f(n,t){t[0]<n[0]&&(n[0]=t[0]),t[0]>n[2]&&(n[2]=t[0]),t[1]<n[1]&&(n[1]=t[1]),t[1]>n[3]&&(n[3]=t[1])}function h(n,t){t<n[0]&&(n[0]=t),t>n[2]&&(n[2]=t)}function x(n,t){t<n[1]&&(n[1]=t),t>n[3]&&(n[3]=t)}function M(n,{xmin:t,ymin:r,xmax:i,ymax:u}){n[0]=Math.min(n[0],t),n[1]=Math.min(n[1],r),n[2]=Math.max(n[2],i),n[3]=Math.max(n[3],u)}function s(n,t,r){if(null!=t)if("length"in t)O(t)?(r[0]=Math.min(n[0],t[0]),r[1]=Math.min(n[1],t[1]),r[2]=Math.max(n[2],t[2]),r[3]=Math.max(n[3],t[3])):2!==t.length&&3!==t.length||(r[0]=Math.min(n[0],t[0]),r[1]=Math.min(n[1],t[1]),r[2]=Math.max(n[2],t[0]),r[3]=Math.max(n[3],t[1]));else switch(t.type){case"extent":r[0]=Math.min(n[0],t.xmin),r[1]=Math.min(n[1],t.ymin),r[2]=Math.max(n[2],t.xmax),r[3]=Math.max(n[3],t.ymax);break;case"point":r[0]=Math.min(n[0],t.x),r[1]=Math.min(n[1],t.y),r[2]=Math.max(n[2],t.x),r[3]=Math.max(n[3],t.y)}else e(r,n)}function l(n,t,r=n){const i=t.length;let u=n[0],a=n[1],e=n[2],o=n[3];for(let c=0;c<i;c++){const n=t[c];u=Math.min(u,n[0]),a=Math.min(a,n[1]),e=Math.max(e,n[0]),o=Math.max(o,n[1])}return r[0]=u,r[1]=a,r[2]=e,r[3]=o,r}function y(n){for(let t=0;t<4;t++)if(!isFinite(n[t]))return!1;return!0}function p(n){return null==n||n[0]>=n[2]?0:n[2]-n[0]}function b(n){return null==n||n[1]>=n[3]?0:n[3]-n[1]}function g(n){return p(n)*b(n)}function F(n){return p(n)>0&&b(n)>0}function j(n,t=[0,0]){return t[0]=(n[0]+n[2])/2,t[1]=(n[1]+n[3])/2,t}function q(n){const t=p(n),r=b(n);return Math.sqrt(t*t+r*r)}function w(n,t){return E(n,t[0],t[1])}function d(n,t){const r=t.radius,i=.5*(n[0]+n[2]),u=Math.abs(t.center[0]-i),a=.5*(n[2]-n[0]);if(u>r+a)return!1;const e=.5*(n[1]+n[3]),o=.5*(n[3]-n[1]),c=Math.abs(t.center[1]-e);if(c>r+o)return!1;if(u<a||c<o)return!0;const m=u-a,f=c-o;return m*m+f*f<=r*r}function k(n,t,r){const i=n[0],u=n[1],a=n[2],e=n[3],{x:o,y:c}=t,{x:m,y:f}=r,h=(n,t)=>(f-c)*n+(o-m)*t+(m*c-o*f)<0,x=h(i,e),M=h(a,e),s=h(a,u),l=h(i,u);return!(x===M&&M===s&&s===l&&l===x||o<i&&m<i||o>a&&m>a||c>e&&f>e||c<u&&f<u)}function v(n,t){return!!n&&E(n,t.x,t.y)}function E(n,t,r){return t>=n[0]&&r>=n[1]&&t<=n[2]&&r<=n[3]}function R(n,t,r,i){return t>=n[0]-i&&r>=n[1]-i&&t<=n[2]+i&&r<=n[3]+i}function U(n,t,r){return t[0]>=n[0]-r&&t[1]>=n[1]-r&&t[0]<=n[2]+r&&t[1]<=n[3]+r}function z(n,t){return Math.max(t[0],n[0])<=Math.min(t[2],n[2])&&Math.max(t[1],n[1])<=Math.min(t[3],n[3])}function A(n,t,r){return Math.max(t[0],n[0])-r<=Math.min(t[2],n[2])&&Math.max(t[1],n[1])-r<=Math.min(t[3],n[3])}function B(n,t){return t[0]>=n[0]&&t[2]<=n[2]&&t[1]>=n[1]&&t[3]<=n[3]}function C(n,t,r){return null==t?e(r,n):(r[0]=Math.min(n[0],t[0]),r[1]=Math.min(n[1],t[1]),r[2]=Math.max(n[2],t[2]),r[3]=Math.max(n[3],t[3]),r)}function D(t,r,i){if(null==r)return e(i,t);const u=r[0],a=r[1],o=r[2],c=r[3];return i[0]=n(t[0],u,o),i[1]=n(t[1],a,c),i[2]=n(t[2],u,o),i[3]=n(t[3],a,c),i}function G(n,t){const r=(n[0]+n[2])/2,i=(n[1]+n[3])/2,u=Math.max(Math.abs(t[0]-r)-p(n)/2,0),a=Math.max(Math.abs(t[1]-i)-b(n)/2,0);return Math.sqrt(u*u+a*a)}function H(n,t){t[0]=n[2]-n[0],t[1]=n[3]-n[1]}function I(n,t,r,i){return i??=n,i[0]=n[0]+t,i[1]=n[1]+r,i[2]=n[2]+t,i[3]=n[3]+r,i}function J(n,t,r=n){return r[0]=n[0]-t,r[1]=n[1]-t,r[2]=n[2]+t,r[3]=n[3]+t,r}function K(n,t,r=n){return r[0]=t[0],r[1]=t[1],r!==n&&(r[2]=n[2],r[3]=n[3]),r}function L(n,t,r=n){return r[2]=t[0],r[3]=t[1],r!==n&&(r[0]=n[0],r[1]=n[1]),n}function N(n){return n?e(n,V):u(V)}function O(n){return null!=n&&4===n.length}function P(n){return!(0!==p(n)&&isFinite(n[0])||0!==b(n)&&isFinite(n[1]))}function Q(n,t){return O(n)&&O(t)?n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]&&n[3]===t[3]:n===t}function S(n,r,i){return null!=n&&null!=r&&n.every((n,u)=>t(n,r[u],i))}const T=i([-1/0,-1/0,1/0,1/0]),V=i([1/0,1/0,-1/0,-1/0]),W=i([0,0,0,0]),X=i([0,0,1,1]);function Y(n,t,r){return null!=t&&(r?r.contains(n[0],n[2],t[0])&&r.contains(n[0],n[2],t[2])&&t[1]>n[1]&&t[3]<n[3]:B(n,t))}function Z(n,t,r){return null!=n&&(r?(r.contains(t[0],t[2],n[0])||r.contains(t[0],t[2],n[2])||r.contains(n[0],n[2],t[0]))&&!(n[1]>t[3]||n[3]<t[1]):z(n,t))}export{y as allFinite,S as almostEquals,g as area,j as center,a as clone,B as contains,w as containsPoint,v as containsPointObject,U as containsPointWithMargin,E as containsXY,R as containsXYWithMargin,e as copy,u as create,q as diagonal,G as distance,N as empty,Q as equals,s as expand,M as expandExtentInPlace,f as expandPointInPlace,l as expandWithNestedArray,h as expandXInPlace,x as expandYInPlace,c as fromExtent,o as fromValues,F as hasArea,b as height,D as intersection,z as intersects,k as intersectsSegment,d as intersectsSphere,A as intersectsWithMargin,O as is,P as isPoint,V as negativeInfinity,I as offset,J as pad,T as positiveInfinity,Y as rectangleContainsRectangleCyclicalAware,Z as rectanglesIntersectCyclicalAware,L as setMax,K as setMin,H as size,m as toExtent,C as union,X as unit,p as width,W as zero};