UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 2.3 kB
function n(n){return void 0!==n.xmin&&void 0!==n.ymin&&void 0!==n.xmax&&void 0!==n.ymax}function t(n){return void 0!==n.points}function i(n){return void 0!==n.x&&void 0!==n.y}function o(n){return void 0!==n.paths}function e(n){return void 0!==n.rings}function r(n){function t(t,i){return null==t?i:null==i?t:n(t,i)}return t}const u=r(Math.min),l=r(Math.max);function c(r,u){return o(u)?h(r,u.paths,!1,!1):e(u)?h(r,u.rings,!1,!1):t(u)?g(r,u.points,!1,!1,!1,!1):n(u)?s(r,u):(i(u)&&(r[0]=u.x,r[1]=u.y,r[2]=u.x,r[3]=u.y),r)}function f(r,u){return o(u)?h(r,u.paths,!0,!1):e(u)?h(r,u.rings,!0,!1):t(u)?g(r,u.points,!0,!1,!0,!1):n(u)?s(r,u,!0,!1,!0,!1):(i(u)&&(r[0]=u.x,r[1]=u.y,r[2]=u.z,r[3]=u.x,r[4]=u.y,r[5]=u.z),r)}function h(n,t,i,o){const e=i?3:2;if(!t.length||!t[0].length)return null;let r,c,f,h,[s,g]=t[0][0],[x,m]=t[0][0];for(let a=0;a<t.length;a++){const n=t[a];for(let t=0;t<n.length;t++){const a=n[t],[d,v]=a;if(s=u(s,d),g=u(g,v),x=l(x,d),m=l(m,v),i&&a.length>2){const n=a[2];r=u(r,n),c=l(c,n)}if(o&&a.length>e){const n=a[e];f=u(r,n),h=l(c,n)}}}return i?o?(n[0]=s,n[1]=g,n[2]=r,n[3]=f,n[4]=x,n[5]=m,n[6]=c,n[7]=h,n.length=8,n):(n[0]=s,n[1]=g,n[2]=r,n[3]=x,n[4]=m,n[5]=c,n.length=6,n):o?(n[0]=s,n[1]=g,n[2]=f,n[3]=x,n[4]=m,n[5]=h,n.length=6,n):(n[0]=s,n[1]=g,n[2]=x,n[3]=m,n.length=4,n)}function s(n,t,i,o,e,r){const u=t.xmin,l=t.xmax,c=t.ymin,f=t.ymax;let h=t.zmin,s=t.zmax,g=t.mmin,x=t.mmax;return e?(h=h||0,s=s||0,r?(g=g||0,x=x||0,n[0]=u,n[1]=c,n[2]=h,n[3]=g,n[4]=l,n[5]=f,n[6]=s,n[7]=x,n):(n[0]=u,n[1]=c,n[2]=h,n[3]=l,n[4]=f,n[5]=s,n)):r?(g=g||0,x=x||0,n[0]=u,n[1]=c,n[2]=g,n[3]=l,n[4]=f,n[5]=x,n):(n[0]=u,n[1]=c,n[2]=l,n[3]=f,n)}function g(n,t,i,o,e,r){const c=i?3:2,f=o&&r,h=i&&e;if(!t.length||!t[0].length)return null;let s,g,x,m,[a,d]=t[0],[v,y]=t[0];for(let p=0;p<t.length;p++){const n=t[p],[i,o]=n;if(a=u(a,i),d=u(d,o),v=l(v,i),y=l(y,o),h&&n.length>2){const t=n[2];s=u(s,t),g=l(g,t)}if(f&&n.length>c){const t=n[c];x=u(s,t),m=l(g,t)}}return e?(s=s||0,g=g||0,r?(x=x||0,m=m||0,n[0]=a,n[1]=d,n[2]=s,n[3]=x,n[4]=v,n[5]=y,n[6]=g,n[7]=m,n):(n[0]=a,n[1]=d,n[2]=s,n[3]=v,n[4]=y,n[5]=g,n)):r?(x=x||0,m=m||0,n[0]=a,n[1]=d,n[2]=x,n[3]=v,n[4]=y,n[5]=m,n):(n[0]=a,n[1]=d,n[2]=v,n[3]=y,n)}export{c as getBoundsXY,f as getBoundsXYZ,s as getExtentBounds,g as getPointsBounds,h as getRingsOrPathsBounds};