/* 2020-9-22 15:23:24 | 版权所有 军懋国兴 */ define(["./when-cbf8cd21","./Check-35e1a91d","./Math-69007a69","./Cartesian2-43e3a3be","./Transforms-2d1ac5ec","./RuntimeError-f4c64df1","./WebGLConstants-95ceb4e9","./ComponentDatatype-607c9a0c","./GeometryAttribute-2303bbfb","./EncodedCartesian3-29a09d7b","./IntersectionTests-459f6f08","./Plane-46b5436f","./WebMercatorProjection-3da37aae","./arrayRemoveDuplicates-d96adeb6","./ArcType-2b58731c","./EllipsoidRhumbLine-357c11e7","./EllipsoidGeodesic-007422da"],function(G,d,ze,Be,Ge,e,a,je,Ve,Ye,j,i,t,V,Y,q,M){"use strict";function r(e){e=G.defaultValue(e,G.defaultValue.EMPTY_OBJECT),this._ellipsoid=G.defaultValue(e.ellipsoid,Be.Ellipsoid.WGS84),this._rectangle=G.defaultValue(e.rectangle,Be.Rectangle.MAX_VALUE),this._projection=new Ge.GeographicProjection(this._ellipsoid),this._numberOfLevelZeroTilesX=G.defaultValue(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=G.defaultValue(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(r.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),r.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<Fe?(F=We(a,A,re,Y,da),X=We(a,k,j,q,ha)):1===$?(X=We(a,k,j,q,ha),F.x=0,F.y=ze.CesiumMath.sign(A.longitude-Math.abs(k.longitude)),F.z=0):(F=We(a,A,re,Y,da),X.x=0,X.y=ze.CesiumMath.sign(A.longitude-k.longitude),X.z=0));var ne=Be.Cartesian3.distance(te,G),ie=Ye.EncodedCartesian3.fromCartesian(ae,Ta),se=Be.Cartesian3.subtract(B,ae,ga),oe=Be.Cartesian3.normalize(se,wa),le=Be.Cartesian3.subtract(te,ae,fa);le=Be.Cartesian3.normalize(le,le);var ue=Be.Cartesian3.cross(oe,le,wa);ue=Be.Cartesian3.normalize(ue,ue);var ce=Be.Cartesian3.cross(le,re,va);ce=Be.Cartesian3.normalize(ce,ce);var Ce=Be.Cartesian3.subtract(G,B,ma);Ce=Be.Cartesian3.normalize(Ce,Ce);var pe=Be.Cartesian3.cross(j,Ce,ya);pe=Be.Cartesian3.normalize(pe,pe);var de,he=ne/x,ge=J/x,fe=0,me=0,we=0;for(s&&(fe=Be.Cartesian3.distance(Y,q),U=Ye.EncodedCartesian3.fromCartesian(Y,Ea),W=Be.Cartesian3.subtract(q,Y,Ma),de=(Z=Be.Cartesian3.normalize(W,_a)).x,Z.x=Z.y,Z.y=-de,me=fe/b,we=Q/b),I=0;I<8;I++){var ve=H+4*I,ye=N+2*I,Te=ve+3,Ee=I<4?1:-1,Me=2===I||3===I||6===I||7===I?1:-1;Be.Cartesian3.pack(ie.high,y,ve),y[Te]=se.x,Be.Cartesian3.pack(ie.low,T,ve),T[Te]=se.y,Be.Cartesian3.pack(ce,E,ve),E[Te]=se.z,Be.Cartesian3.pack(pe,M,ve),M[Te]=he*Ee,Be.Cartesian3.pack(ue,_,ve);var _e=ge*Me;0===_e&&Me<0&&(_e=9),_[Te]=_e,s&&(u[ve]=U.high.x,u[ve+1]=U.high.y,u[ve+2]=U.low.x,u[ve+3]=U.low.y,C[ve]=-F.y,C[ve+1]=F.x,C[ve+2]=X.y,C[ve+3]=-X.x,c[ve]=W.x,c[ve+1]=W.y,c[ve+2]=Z.x,c[ve+3]=Z.y,p[ye]=me*Ee,0===(_e=we*Me)&&Me<0&&(_e=9),p[ye+1]=_e)}var Oe=ua,be=ca,Ae=oa,ke=la,Pe=Be.Rectangle.fromCartographicArray(ia,sa),Se=qe.getMinimumMaximumHeights(Pe,d),Le=Se.minimumTerrainHeight,Ie=Se.maximumTerrainHeight;K+=Le,K+=Ie,Ze(ae,te,Le,Ie,Oe,Ae),Ze(B,G,Le,Ie,be,ke);var xe=Be.Cartesian3.multiplyByScalar(ue,ze.CesiumMath.EPSILON5,Oa);Be.Cartesian3.add(Oe,xe,Oe),Be.Cartesian3.add(be,xe,be),Be.Cartesian3.add(Ae,xe,Ae),Be.Cartesian3.add(ke,xe,ke),Je(Oe,be),Je(Ae,ke),Be.Cartesian3.pack(Oe,v,R),Be.Cartesian3.pack(be,v,R+3),Be.Cartesian3.pack(ke,v,R+6),Be.Cartesian3.pack(Ae,v,R+9),xe=Be.Cartesian3.multiplyByScalar(ue,-2*ze.CesiumMath.EPSILON5,Oa),Be.Cartesian3.add(Oe,xe,Oe),Be.Cartesian3.add(be,xe,be),Be.Cartesian3.add(Ae,xe,Ae),Be.Cartesian3.add(ke,xe,ke),Je(Oe,be),Je(Ae,ke),Be.Cartesian3.pack(Oe,v,R+12),Be.Cartesian3.pack(be,v,R+15),Be.Cartesian3.pack(ke,v,R+18),Be.Cartesian3.pack(Ae,v,R+21),D+=2,l+=3,N+=16,R+=24,H+=32,J+=ne,Q+=fe}var De=l=0;for(o=0;oze.CesiumMath.PI_OVER_TWO&&(o=!0,s=Be.Cartesian3.subtract(i,t,B),u=l.cartesianToCartographic(s,H)),u.height=0;var c=e.project(u,n);return(n=Be.Cartesian3.subtract(c,r,n)).z=0,n=Be.Cartesian3.normalize(n,n),o&&Be.Cartesian3.negate(n,n),n}var le=new Be.Cartesian3,ue=new Be.Cartesian3;function Ze(e,a,t,r,n,i){var s=Be.Cartesian3.subtract(a,e,le);Be.Cartesian3.normalize(s,s);var o=t-X,l=Be.Cartesian3.multiplyByScalar(s,o,ue);Be.Cartesian3.add(e,l,n);var u=r-U,l=Be.Cartesian3.multiplyByScalar(s,u,ue);Be.Cartesian3.add(a,l,i)}var l=new Be.Cartesian3;function Je(e,a){var t=i.Plane.getPointDistance(K,e),r=i.Plane.getPointDistance(K,a),n=l;ze.CesiumMath.equalsEpsilon(t,0,ze.CesiumMath.EPSILON2)?(n=Xe(a,e,n),Be.Cartesian3.multiplyByScalar(n,ze.CesiumMath.EPSILON2,n),Be.Cartesian3.add(e,n,e)):ze.CesiumMath.equalsEpsilon(r,0,ze.CesiumMath.EPSILON2)&&(n=Xe(e,a,n),Be.Cartesian3.multiplyByScalar(n,ze.CesiumMath.EPSILON2,n),Be.Cartesian3.add(a,n,a))}var Qe=new Be.Cartographic,Ke=new Be.Cartographic,$e=new Be.Cartesian3,ea=new Be.Cartesian3,aa=new Be.Cartesian3,ta=new Be.Cartesian3,ra=new Be.Cartesian3,na=new Be.Cartesian3,ia=[Qe,Ke],sa=new Be.Rectangle,oa=new Be.Cartesian3,la=new Be.Cartesian3,ua=new Be.Cartesian3,ca=new Be.Cartesian3,Ca=new Be.Cartesian3,pa=new Be.Cartesian3,da=new Be.Cartesian3,ha=new Be.Cartesian3,ga=new Be.Cartesian3,fa=new Be.Cartesian3,ma=new Be.Cartesian3,wa=new Be.Cartesian3,va=new Be.Cartesian3,ya=new Be.Cartesian3,Ta=new Ye.EncodedCartesian3,Ea=new Ye.EncodedCartesian3,Ma=new Be.Cartesian3,_a=new Be.Cartesian3,Oa=new Be.Cartesian3,ba=[new Ge.BoundingSphere,new Ge.BoundingSphere],Aa=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],ka=Aa.length;function Pa(e){return new Ve.GeometryAttribute({componentDatatype:je.ComponentDatatype.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}return y._projectNormal=We,function(e,a){return qe.initialize().then(function(){return G.defined(a)&&(e=y.unpack(e,a)),y.createGeometry(e)})}});