RectangleGeometryLibrary-12ead223.js 2.4 KB

1
  1. define(["exports","./Cartographic-67e73ef9","./when-92c6cf3c","./Check-52a7d806","./Intersect-b97e930a","./Math-92c3b5f7","./GeometryAttribute-ef657318","./Rectangle-bab7abf0"],(function(t,n,a,r,e,o,s,i){"use strict";var h=Math.cos,g=Math.sin,u=Math.sqrt,c={computePosition:function(t,n,r,e,o,s,i){var c=n.radiiSquared,l=t.nwCorner,C=t.boundingRectangle,S=l.latitude-t.granYCos*e+o*t.granXSin,w=h(S),d=g(S),f=c.z*d,X=l.longitude+e*t.granYSin+o*t.granXCos,Y=w*h(X),O=w*g(X),v=c.x*Y,_=c.y*O,p=u(v*Y+_*O+f*d);if(s.x=v/p,s.y=_/p,s.z=f/p,r){var M=t.stNwCorner;a.e(M)?(S=M.latitude-t.stGranYCos*e+o*t.stGranXSin,X=M.longitude+e*t.stGranYSin+o*t.stGranXCos,i.x=(X-t.stWest)*t.lonScalar,i.y=(S-t.stSouth)*t.latScalar):(i.x=(X-C.west)*t.lonScalar,i.y=(S-C.south)*t.latScalar)}}},l=new s.f,C=new n.t,S=new n.t$1,w=new n.t,d=new e.n;function f(t,a,r,e,o,i,h){var g=Math.cos(a),u=e*g,c=r*g,S=Math.sin(a),f=e*S,X=r*S;C=d.project(t,C),C=n.t.subtract(C,w,C);var Y=s.f.fromRotation(a,l);C=s.f.multiplyByVector(Y,C,C),C=n.t.add(C,w,C),i-=1,h-=1;var O=(t=d.unproject(C,t)).latitude,v=O+i*X,_=O-u*h,p=O-u*h+i*X,M=Math.max(O,v,_,p),R=Math.min(O,v,_,p),I=t.longitude,W=I+i*c,b=I+h*f,m=I+h*f+i*c;return{north:M,south:R,east:Math.max(I,W,b,m),west:Math.min(I,W,b,m),granYCos:u,granYSin:f,granXCos:c,granXSin:X,nwCorner:t}}c.computeOptions=function(t,n,a,e,s,h,g){var u=t.east,c=t.west,l=t.north,C=t.south,X=!1,Y=!1;l===o.e.PI_OVER_TWO&&(X=!0),C===-o.e.PI_OVER_TWO&&(Y=!0);var O,v,_,p,M,R=l-C;_=(M=c>u?o.e.TWO_PI-c+u:u-c)/((O=Math.ceil(M/n)+1)-1),p=R/((v=Math.ceil(R/n)+1)-1);var I=i.h.northwest(t,h),W=i.h.center(t,S);(0!==a||0!==e)&&(W.longitude<I.longitude&&(W.longitude+=o.e.TWO_PI),w=d.project(W,w));var b=p,m=_,G=i.h.clone(t,s),P={granYCos:b,granYSin:0,granXCos:m,granXSin:0,nwCorner:I,boundingRectangle:G,width:O,height:v,northCap:X,southCap:Y};if(0!==a){var T=f(I,a,_,p,0,O,v);if(l=T.north,C=T.south,u=T.east,c=T.west,l<-o.e.PI_OVER_TWO||l>o.e.PI_OVER_TWO||C<-o.e.PI_OVER_TWO||C>o.e.PI_OVER_TWO)throw new r.t("Rotated rectangle is invalid. It crosses over either the north or south pole.");P.granYCos=T.granYCos,P.granYSin=T.granYSin,P.granXCos=T.granXCos,P.granXSin=T.granXSin,G.north=l,G.south=C,G.east=u,G.west=c}if(0!==e){a-=e;var x=i.h.northwest(G,g),y=f(x,a,_,p,0,O,v);P.stGranYCos=y.granYCos,P.stGranXCos=y.granXCos,P.stGranYSin=y.granYSin,P.stGranXSin=y.granXSin,P.stNwCorner=x,P.stWest=y.west,P.stSouth=y.south}return P},t.j=c}));