RectangleGeometryLibrary-7194dc97.js 2.4 KB

1
  1. define(["exports","./Cartesian3-7e9cc2ff","./Matrix2-e3fb4559","./defaultValue-81eec7ed","./Check-741c5f3c","./Transforms-99272364","./Math-5f585871"],(function(t,n,a,e,o,s,r){"use strict";const i=Math.cos,c=Math.sin,g=Math.sqrt,u={computePosition:function(t,n,a,o,s,r,u){const h=n.radiiSquared,l=t.nwCorner,C=t.boundingRectangle;let S=l.latitude-t.granYCos*o+s*t.granXSin;const d=i(S),M=c(S),w=h.z*M;let f=l.longitude+o*t.granYSin+s*t.granXCos;const X=d*i(f),Y=d*c(f),m=h.x*X,p=h.y*Y,x=g(m*X+p*Y+w*M);if(r.x=m/x,r.y=p/x,r.z=w/x,a){const n=t.stNwCorner;e.defined(n)?(S=n.latitude-t.stGranYCos*o+s*t.stGranXSin,f=n.longitude+o*t.stGranYSin+s*t.stGranXCos,u.x=(f-t.stWest)*t.lonScalar,u.y=(S-t.stSouth)*t.latScalar):(u.x=(f-C.west)*t.lonScalar,u.y=(S-C.south)*t.latScalar)}}},h=new a.Matrix2;let l=new n.Cartesian3;const C=new a.Cartographic;let S=new n.Cartesian3;const d=new s.GeographicProjection;function M(t,e,o,s,r,i,c){const g=Math.cos(e),u=s*g,C=o*g,M=Math.sin(e),w=s*M,f=o*M;l=d.project(t,l),l=n.Cartesian3.subtract(l,S,l);const X=a.Matrix2.fromRotation(e,h);l=a.Matrix2.multiplyByVector(X,l,l),l=n.Cartesian3.add(l,S,l),i-=1,c-=1;const Y=(t=d.unproject(l,t)).latitude,m=Y+i*f,p=Y-u*c,x=Y-u*c+i*f,G=Math.max(Y,m,p,x),R=Math.min(Y,m,p,x),y=t.longitude,O=y+i*C,P=y+c*w,W=y+c*w+i*C;return{north:G,south:R,east:Math.max(y,O,P,W),west:Math.min(y,O,P,W),granYCos:u,granYSin:w,granXCos:C,granXSin:f,nwCorner:t}}u.computeOptions=function(t,n,e,o,s,i,c){let g,u=t.east,h=t.west,l=t.north,w=t.south,f=!1,X=!1;l===r.CesiumMath.PI_OVER_TWO&&(f=!0),w===-r.CesiumMath.PI_OVER_TWO&&(X=!0);const Y=l-w;g=h>u?r.CesiumMath.TWO_PI-h+u:u-h;const m=Math.ceil(g/n)+1,p=Math.ceil(Y/n)+1,x=g/(m-1),G=Y/(p-1),R=a.Rectangle.northwest(t,i),y=a.Rectangle.center(t,C);0===e&&0===o||(y.longitude<R.longitude&&(y.longitude+=r.CesiumMath.TWO_PI),S=d.project(y,S));const O=G,P=x,W=a.Rectangle.clone(t,s),_={granYCos:O,granYSin:0,granXCos:P,granXSin:0,nwCorner:R,boundingRectangle:W,width:m,height:p,northCap:f,southCap:X};if(0!==e){const t=M(R,e,x,G,0,m,p);l=t.north,w=t.south,u=t.east,h=t.west,_.granYCos=t.granYCos,_.granYSin=t.granYSin,_.granXCos=t.granXCos,_.granXSin=t.granXSin,W.north=l,W.south=w,W.east=u,W.west=h}if(0!==o){e-=o;const t=a.Rectangle.northwest(W,c),n=M(t,e,x,G,0,m,p);_.stGranYCos=n.granYCos,_.stGranXCos=n.granXCos,_.stGranYSin=n.granYSin,_.stGranXSin=n.granXSin,_.stNwCorner=t,_.stWest=n.west,_.stSouth=n.south}return _},t.RectangleGeometryLibrary=u}));