define(["./Transforms-b51fdb37","./Rectangle-82621db8","./Check-24483042","./when-54335d57","./Math-7a8129d6","./ArcType-2b58731c","./arrayRemoveDuplicates-6dfd408b","./ComponentDatatype-1a100acd","./EllipsoidGeodesic-2a3101f9","./EllipsoidRhumbLine-2550c0e1","./EncodedCartesian3-c7ed7a62","./GeometryAttribute-02fdce7a","./IntersectionTests-afc06c64","./Plane-fd9e13db","./WebMercatorProjection-3130dd2d","./RuntimeError-88a32665","./PixelFormat-d198afce","./WebGLConstants-95ceb4e9"],function(He,Be,e,j,je,G,V,Ge,E,Y,Ve,Ye,F,r,a,t,n,i){"use strict";function s(e){e=j.defaultValue(e,j.defaultValue.EMPTY_OBJECT),this._ellipsoid=j.defaultValue(e.ellipsoid,Be.Ellipsoid.WGS84),this._rectangle=j.defaultValue(e.rectangle,Be.Rectangle.MAX_VALUE),this._projection=new He.GeographicProjection(this._ellipsoid),this._numberOfLevelZeroTilesX=j.defaultValue(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=j.defaultValue(e.numberOfLevelZeroTilesY,1),this._tileInfo=e.tileInfo}Object.defineProperties(s.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),s.prototype.getNumberOfXTilesAtLevel=function(a){if(!j.defined(this._tileInfo))return this._numberOfLevelZeroTilesX<<a;var e=this._tileInfo.lods.filter(function(e){return e.level===a})[0].resolution;return Math.round(360/(this._tileInfo.rows*e))},s.prototype.getNumberOfYTilesAtLevel=function(a){if(!j.defined(this._tileInfo))return this._numberOfLevelZeroTilesY<<a;var e=this._tileInfo.lods.filter(function(e){return e.level===a})[0].resolution;return Math.round(180/(this._tileInfo.cols*e))},s.prototype.rectangleToNativeRectangle=function(e,a){var t=je.CesiumMath.toDegrees(e.west),n=je.CesiumMath.toDegrees(e.south),i=je.CesiumMath.toDegrees(e.east),r=je.CesiumMath.toDegrees(e.north);return j.defined(a)?(a.west=t,a.south=n,a.east=i,a.north=r,a):new Be.Rectangle(t,n,i,r)},s.prototype.tileXYToNativeRectangle=function(e,a,t,n){var i=this.tileXYToRectangle(e,a,t,n);return i.west=je.CesiumMath.toDegrees(i.west),i.south=je.CesiumMath.toDegrees(i.south),i.east=je.CesiumMath.toDegrees(i.east),i.north=je.CesiumMath.toDegrees(i.north),i},s.prototype.tileXYToRectangle=function(e,a,t,n){var i=this._rectangle,r=this.getNumberOfXTilesAtLevel(t),s=this.getNumberOfYTilesAtLevel(t),o=i.width/r,l=e*o+i.west,u=(e+1)*o+i.west,c=i.height/s,C=i.north-a*c,d=i.north-(a+1)*c;return j.defined(n)||(n=new Be.Rectangle(l,d,u,C)),n.west=l,n.south=d,n.east=u,n.north=C,n},s.prototype.positionToTileXY=function(e,a,t){var n=this._rectangle;if(Be.Rectangle.contains(n,e)){var i=this.getNumberOfXTilesAtLevel(a),r=this.getNumberOfYTilesAtLevel(a),s=n.width/i,o=n.height/r,l=e.longitude;n.east<n.west&&(l+=je.CesiumMath.TWO_PI);var u=(l-n.west)/s|0;i<=u&&(u=i-1);var c=(n.north-e.latitude)/o|0;return r<=c&&(c=r-1),j.defined(t)?(t.x=u,t.y=c,t):new Be.Cartesian2(u,c)}};var u=new Be.Cartesian3,c=new Be.Cartesian3,C=new Be.Cartographic,d=new Be.Cartesian3,h=new Be.Cartesian3,o=new He.BoundingSphere,p=new s,g=[new Be.Cartographic,new Be.Cartographic,new Be.Cartographic,new Be.Cartographic],f=new Be.Cartesian2,Fe={};function m(e){Be.Cartographic.fromRadians(e.east,e.north,0,g[0]),Be.Cartographic.fromRadians(e.west,e.north,0,g[1]),Be.Cartographic.fromRadians(e.east,e.south,0,g[2]),Be.Cartographic.fromRadians(e.west,e.south,0,g[3]);var a,t=0,n=0,i=0,r=0,s=Fe._terrainHeightsMaxLevel;for(a=0;a<=s;++a){for(var o=!1,l=0;l<4;++l){var u=g[l];if(p.positionToTileXY(u,a,f),0===l)i=f.x,r=f.y;else if(i!==f.x||r!==f.y){o=!0;break}}if(o)break;t=i,n=r}if(0!==a)return{x:t,y:n,level:s<a?s:a-1}}Fe.initialize=function(){var e=Fe._initPromise;return j.defined(e)?e:(e=He.Resource.fetchJson(He.buildModuleUrl("Assets/approximateTerrainHeights.json")).then(function(e){Fe._terrainHeights=e}),Fe._initPromise=e)},Fe.getMinimumMaximumHeights=function(e,a){a=j.defaultValue(a,Be.Ellipsoid.WGS84);var t=m(e),n=Fe._defaultMinTerrainHeight,i=Fe._defaultMaxTerrainHeight;if(j.defined(t)){var r=t.level+"-"+t.x+"-"+t.y,s=Fe._terrainHeights[r];j.defined(s)&&(n=s[0],i=s[1]),a.cartographicToCartesian(Be.Rectangle.northeast(e,C),u),a.cartographicToCartesian(Be.Rectangle.southwest(e,C),c),Be.Cartesian3.midpoint(c,u,d);var o=a.scaleToGeodeticSurface(d,h);if(j.defined(o)){var l=Be.Cartesian3.distance(d,o);n=Math.min(n,-l)}else n=Fe._defaultMinTerrainHeight}return{minimumTerrainHeight:n=Math.max(Fe._defaultMinTerrainHeight,n),maximumTerrainHeight:i}},Fe.getBoundingSphere=function(e,a){a=j.defaultValue(a,Be.Ellipsoid.WGS84);var t=m(e),n=Fe._defaultMaxTerrainHeight;if(j.defined(t)){var i=t.level+"-"+t.x+"-"+t.y,r=Fe._terrainHeights[i];j.defined(r)&&(n=r[1])}var s=He.BoundingSphere.fromRectangle3D(e,a,0);return He.BoundingSphere.fromRectangle3D(e,a,n,o),He.BoundingSphere.union(s,o,s)},Fe._terrainHeightsMaxLevel=6,Fe._defaultMaxTerrainHeight=9e3,Fe._defaultMinTerrainHeight=-1e5,Fe._terrainHeights=void 0,Fe._initPromise=void 0,Object.defineProperties(Fe,{initialized:{get:function(){return j.defined(Fe._terrainHeights)}}});var q=[He.GeographicProjection,a.WebMercatorProjection],l=q.length,qe=Math.cos(je.CesiumMath.toRadians(30)),w=Math.cos(je.CesiumMath.toRadians(150)),X=0,W=1e3;function v(e){var a=(e=j.defaultValue(e,j.defaultValue.EMPTY_OBJECT)).positions;this.width=j.defaultValue(e.width,1),this._positions=a,this.granularity=j.defaultValue(e.granularity,9999),this.loop=j.defaultValue(e.loop,!1),this.arcType=j.defaultValue(e.arcType,G.ArcType.GEODESIC),this._ellipsoid=Be.Ellipsoid.WGS84,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(v.prototype,{packedLength:{get:function(){return 1+3*this._positions.length+1+1+1+Be.Ellipsoid.packedLength+1+1}}}),v.setProjectionAndEllipsoid=function(e,a){for(var t=0,n=0;n<l;n++)if(a instanceof q[n]){t=n;break}e._projectionIndex=t,e._ellipsoid=a.ellipsoid};var y=new Be.Cartesian3,M=new Be.Cartesian3,T=new Be.Cartesian3;function U(e,a,t,n,i){var r=J(n,e,0,y),s=J(n,e,t,M),o=J(n,a,0,T),l=Xe(s,r,M),u=Xe(o,r,T);return Be.Cartesian3.cross(u,l,i),Be.Cartesian3.normalize(i,i)}var _=new Be.Cartographic,O=new Be.Cartesian3,b=new Be.Cartesian3,P=new Be.Cartesian3;function Z(e,a,t,n,i,r,s,o,l,u,c){if(0!==i){var C;r===G.ArcType.GEODESIC?C=new E.EllipsoidGeodesic(e,a,s):r===G.ArcType.RHUMB&&(C=new Y.EllipsoidRhumbLine(e,a,s));var d=C.surfaceDistance;if(!(d<i))for(var h=U(e,a,n,s,P),p=Math.ceil(d/i),g=d/p,f=g,m=p-1,w=o.length,v=0;v<m;v++){var y=C.interpolateUsingSurfaceDistance(f,_),M=J(s,y,t,O),T=J(s,y,n,b);Be.Cartesian3.pack(h,o,w),Be.Cartesian3.pack(M,l,w),Be.Cartesian3.pack(T,u,w),c.push(y.latitude),c.push(y.longitude),w+=3,f+=g}}}var k=new Be.Cartographic;function J(e,a,t,n){return Be.Cartographic.clone(a,k),k.height=t,Be.Cartographic.toCartesian(k,e,n)}function Xe(e,a,t){return Be.Cartesian3.subtract(e,a,t),Be.Cartesian3.normalize(t,t),t}function A(e,a,t,n){return n=Xe(e,a,n),n=Be.Cartesian3.cross(n,t,n),n=Be.Cartesian3.normalize(n,n),n=Be.Cartesian3.cross(t,n,n)}v.pack=function(e,a,t){var n=j.defaultValue(t,0),i=e._positions,r=i.length;a[n++]=r;for(var s=0;s<r;++s){var o=i[s];Be.Cartesian3.pack(o,a,n),n+=3}return a[n++]=e.granularity,a[n++]=e.loop?1:0,a[n++]=e.arcType,Be.Ellipsoid.pack(e._ellipsoid,a,n),n+=Be.Ellipsoid.packedLength,a[n++]=e._projectionIndex,a[n++]=e._scene3DOnly?1:0,a},v.unpack=function(e,a,t){for(var n=j.defaultValue(a,0),i=e[n++],r=new Array(i),s=0;s<i;s++)r[s]=Be.Cartesian3.unpack(e,n),n+=3;var o=e[n++],l=1===e[n++],u=e[n++],c=Be.Ellipsoid.unpack(e,n);n+=Be.Ellipsoid.packedLength;var C=e[n++],d=1===e[n++];return j.defined(t)||(t=new v({positions:r})),t._positions=r,t.granularity=o,t.loop=l,t.arcType=u,t._ellipsoid=c,t._projectionIndex=C,t._scene3DOnly=d,t};var I=new Be.Cartesian3,L=new Be.Cartesian3,S=new Be.Cartesian3,x=new Be.Cartesian3;function Q(e,a,t,n,i){var r=Xe(t,a,x),s=A(e,a,r,I),o=A(n,a,r,L);if(je.CesiumMath.equalsEpsilon(Be.Cartesian3.dot(s,o),-1,je.CesiumMath.EPSILON5))return i=Be.Cartesian3.cross(r,s,i),i=Be.Cartesian3.normalize(i,i);i=Be.Cartesian3.add(o,s,i),i=Be.Cartesian3.normalize(i,i);var l=Be.Cartesian3.cross(r,i,S);return Be.Cartesian3.dot(o,l)<0&&(i=Be.Cartesian3.negate(i,i)),i}var K=r.Plane.fromPointNormal(Be.Cartesian3.ZERO,Be.Cartesian3.UNIT_Y),$=new Be.Cartesian3,ee=new Be.Cartesian3,ae=new Be.Cartesian3,te=new Be.Cartesian3,ne=new Be.Cartesian3,ie=new Be.Cartesian3,re=new Be.Cartographic,se=new Be.Cartographic,oe=new Be.Cartographic;v.createGeometry=function(e){var a,t,n,i,r,s,o=!e._scene3DOnly,l=e.loop,u=e._ellipsoid,c=e.granularity,C=e.arcType,d=new q[e._projectionIndex](u),h=X,p=W,g=e._positions,f=g.length;2===f&&(l=!1);var m,w,v,y=new Y.EllipsoidRhumbLine(void 0,void 0,u),M=[g[0]];for(t=0;t<f-1;t++)n=g[t],i=g[t+1],m=F.IntersectionTests.lineSegmentPlane(n,i,K,ie),!j.defined(m)||Be.Cartesian3.equalsEpsilon(m,n,je.CesiumMath.EPSILON7)||Be.Cartesian3.equalsEpsilon(m,i,je.CesiumMath.EPSILON7)||(e.arcType===G.ArcType.GEODESIC?M.push(Be.Cartesian3.clone(m)):e.arcType===G.ArcType.RHUMB&&(v=u.cartesianToCartographic(m,re).longitude,r=u.cartesianToCartographic(n,re),s=u.cartesianToCartographic(i,se),y.setEndPoints(r,s),w=y.findIntersectionWithLongitude(v,oe),m=u.cartographicToCartesian(w,ie),!j.defined(m)||Be.Cartesian3.equalsEpsilon(m,n,je.CesiumMath.EPSILON7)||Be.Cartesian3.equalsEpsilon(m,i,je.CesiumMath.EPSILON7)||M.push(Be.Cartesian3.clone(m)))),M.push(i);l&&(n=g[f-1],i=g[0],m=F.IntersectionTests.lineSegmentPlane(n,i,K,ie),!j.defined(m)||Be.Cartesian3.equalsEpsilon(m,n,je.CesiumMath.EPSILON7)||Be.Cartesian3.equalsEpsilon(m,i,je.CesiumMath.EPSILON7)||(e.arcType===G.ArcType.GEODESIC?M.push(Be.Cartesian3.clone(m)):e.arcType===G.ArcType.RHUMB&&(v=u.cartesianToCartographic(m,re).longitude,r=u.cartesianToCartographic(n,re),s=u.cartesianToCartographic(i,se),y.setEndPoints(r,s),w=y.findIntersectionWithLongitude(v,oe),m=u.cartographicToCartesian(w,ie),!j.defined(m)||Be.Cartesian3.equalsEpsilon(m,n,je.CesiumMath.EPSILON7)||Be.Cartesian3.equalsEpsilon(m,i,je.CesiumMath.EPSILON7)||M.push(Be.Cartesian3.clone(m)))));var T=M.length,E=new Array(T);for(t=0;t<T;t++){var _=Be.Cartographic.fromCartesian(M[t],u);_.height=0,E[t]=_}if(!((T=(E=V.arrayRemoveDuplicates(E,Be.Cartographic.equalsEpsilon)).length)<2)){var O=[],b=[],P=[],k=[],A=$,I=ee,L=ae,S=te,x=ne,N=E[0],R=E[1];for(A=J(u,E[T-1],h,A),S=J(u,R,h,S),I=J(u,N,h,I),L=J(u,N,p,L),x=l?Q(A,I,L,S,x):U(N,R,p,u,x),Be.Cartesian3.pack(x,b,0),Be.Cartesian3.pack(I,P,0),Be.Cartesian3.pack(L,k,0),O.push(N.latitude),O.push(N.longitude),Z(N,R,h,p,c,C,u,b,P,k,O),t=1;t<T-1;++t){A=Be.Cartesian3.clone(I,A),I=Be.Cartesian3.clone(S,I);var D=E[t];J(u,D,p,L),J(u,E[t+1],h,S),Q(A,I,L,S,x),a=b.length,Be.Cartesian3.pack(x,b,a),Be.Cartesian3.pack(I,P,a),Be.Cartesian3.pack(L,k,a),O.push(D.latitude),O.push(D.longitude),Z(E[t],E[t+1],h,p,c,C,u,b,P,k,O)}var z=E[T-1],H=E[T-2];if(I=J(u,z,h,I),L=J(u,z,p,L),l){var B=E[0];x=Q(A=J(u,H,h,A),I,L,S=J(u,B,h,S),x)}else x=U(H,z,p,u,x);if(a=b.length,Be.Cartesian3.pack(x,b,a),Be.Cartesian3.pack(I,P,a),Be.Cartesian3.pack(L,k,a),O.push(z.latitude),O.push(z.longitude),l){for(Z(z,N,h,p,c,C,u,b,P,k,O),a=b.length,t=0;t<3;++t)b[a+t]=b[t],P[a+t]=P[t],k[a+t]=k[t];O.push(N.latitude),O.push(N.longitude)}return function(e,a,t,n,i,r,s){var o,l,u,c,C,d,h=a._ellipsoid,p=t.length/3-1,g=8*p,f=4*g,m=36*p,w=65535<g?new Uint32Array(m):new Uint16Array(m),v=new Float64Array(3*g),y=new Float32Array(f),M=new Float32Array(f),T=new Float32Array(f),E=new Float32Array(f),_=new Float32Array(f);s&&(u=new Float32Array(f),c=new Float32Array(f),C=new Float32Array(f),d=new Float32Array(2*g));var O=r.length/2,b=0,P=Ke;P.height=0;var k=$e;k.height=0;var A=ea,I=aa;if(s)for(l=0,o=1;o<O;o++)P.latitude=r[l],P.longitude=r[l+1],k.latitude=r[l+2],k.longitude=r[l+3],A=a.project(P,A),I=a.project(k,I),b+=Be.Cartesian3.distance(A,I),l+=2;var L=n.length/3;I=Be.Cartesian3.unpack(n,0,I);var S,x=0;for(l=3,o=1;o<L;o++)A=Be.Cartesian3.clone(I,A),I=Be.Cartesian3.unpack(n,l,I),x+=Be.Cartesian3.distance(A,I),l+=3;l=3;var N=0,R=0,D=0,z=0,H=!1,B=Be.Cartesian3.unpack(t,0,na),j=Be.Cartesian3.unpack(n,0,aa),G=Be.Cartesian3.unpack(i,0,ra);if(e){var V=Be.Cartesian3.unpack(t,t.length-6,ta);We(G,V,B,j)&&(G=Be.Cartesian3.negate(G,G))}var Y=0,F=0,q=0;for(o=0;o<p;o++){var X,W,U,Z,J=Be.Cartesian3.clone(B,ta),Q=Be.Cartesian3.clone(j,ea),K=Be.Cartesian3.clone(G,ia);if(H&&(K=Be.Cartesian3.negate(K,K)),B=Be.Cartesian3.unpack(t,l,na),j=Be.Cartesian3.unpack(n,l,aa),G=Be.Cartesian3.unpack(i,l,ra),H=We(G,J,B,j),P.latitude=r[N],P.longitude=r[N+1],k.latitude=r[N+2],k.longitude=r[N+3],s){var $=Qe(P,k);X=a.project(P,da);var ee=Xe(W=a.project(k,ha),X,_a);ee.y=Math.abs(ee.y),U=pa,Z=ga,0===$||Be.Cartesian3.dot(ee,Be.Cartesian3.UNIT_Y)>qe?(U=Ue(a,P,K,X,pa),Z=Ue(a,k,G,W,ga)):1===$?(Z=Ue(a,k,G,W,ga),U.x=0,U.y=je.CesiumMath.sign(P.longitude-Math.abs(k.longitude)),U.z=0):(U=Ue(a,P,K,X,pa),Z.x=0,Z.y=je.CesiumMath.sign(P.longitude-k.longitude),Z.z=0)}var ae=Be.Cartesian3.distance(Q,j),te=Ve.EncodedCartesian3.fromCartesian(J,Ta),ne=Be.Cartesian3.subtract(B,J,fa),ie=Be.Cartesian3.normalize(ne,va),re=Be.Cartesian3.subtract(Q,J,ma);re=Be.Cartesian3.normalize(re,re);var se=Be.Cartesian3.cross(ie,re,va);se=Be.Cartesian3.normalize(se,se);var oe=Be.Cartesian3.cross(re,K,ya);oe=Be.Cartesian3.normalize(oe,oe);var le=Be.Cartesian3.subtract(j,B,wa);le=Be.Cartesian3.normalize(le,le);var ue=Be.Cartesian3.cross(G,le,Ma);ue=Be.Cartesian3.normalize(ue,ue);var ce,Ce,de,he=ae/x,pe=Y/x,ge=0,fe=0,me=0;if(s){ge=Be.Cartesian3.distance(X,W),ce=Ve.EncodedCartesian3.fromCartesian(X,Ea),Ce=Be.Cartesian3.subtract(W,X,_a);var we=(de=Be.Cartesian3.normalize(Ce,Oa)).x;de.x=de.y,de.y=-we,fe=ge/b,me=F/b}for(S=0;S<8;S++){var ve=z+4*S,ye=R+2*S,Me=ve+3,Te=S<4?1:-1,Ee=2===S||3===S||6===S||7===S?1:-1;Be.Cartesian3.pack(te.high,y,ve),y[Me]=ne.x,Be.Cartesian3.pack(te.low,M,ve),M[Me]=ne.y,Be.Cartesian3.pack(oe,T,ve),T[Me]=ne.z,Be.Cartesian3.pack(ue,E,ve),E[Me]=he*Te,Be.Cartesian3.pack(se,_,ve);var _e=pe*Ee;0===_e&&Ee<0&&(_e=9),_[Me]=_e,s&&(u[ve]=ce.high.x,u[ve+1]=ce.high.y,u[ve+2]=ce.low.x,u[ve+3]=ce.low.y,C[ve]=-U.y,C[ve+1]=U.x,C[ve+2]=Z.y,C[ve+3]=-Z.x,c[ve]=Ce.x,c[ve+1]=Ce.y,c[ve+2]=de.x,c[ve+3]=de.y,d[ye]=fe*Te,0===(_e=me*Ee)&&Ee<0&&(_e=9),d[ye+1]=_e)}var Oe=ca,be=Ca,Pe=la,ke=ua,Ae=Be.Rectangle.fromCartographicArray(sa,oa),Ie=Fe.getMinimumMaximumHeights(Ae,h),Le=Ie.minimumTerrainHeight,Se=Ie.maximumTerrainHeight;q+=Le,q+=Se,Ze(J,Q,Le,Se,Oe,Pe),Ze(B,j,Le,Se,be,ke);var xe=Be.Cartesian3.multiplyByScalar(se,je.CesiumMath.EPSILON5,ba);Be.Cartesian3.add(Oe,xe,Oe),Be.Cartesian3.add(be,xe,be),Be.Cartesian3.add(Pe,xe,Pe),Be.Cartesian3.add(ke,xe,ke),Je(Oe,be),Je(Pe,ke),Be.Cartesian3.pack(Oe,v,D),Be.Cartesian3.pack(be,v,D+3),Be.Cartesian3.pack(ke,v,D+6),Be.Cartesian3.pack(Pe,v,D+9),xe=Be.Cartesian3.multiplyByScalar(se,-2*je.CesiumMath.EPSILON5,ba),Be.Cartesian3.add(Oe,xe,Oe),Be.Cartesian3.add(be,xe,be),Be.Cartesian3.add(Pe,xe,Pe),Be.Cartesian3.add(ke,xe,ke),Je(Oe,be),Je(Pe,ke),Be.Cartesian3.pack(Oe,v,D+12),Be.Cartesian3.pack(be,v,D+15),Be.Cartesian3.pack(ke,v,D+18),Be.Cartesian3.pack(Pe,v,D+21),N+=2,l+=3,R+=16,D+=24,z+=32,Y+=ae,F+=ge}var Ne=l=0;for(o=0;o<p;o++){for(S=0;S<Aa;S++)w[l+S]=ka[S]+Ne;Ne+=8,l+=Aa}var Re=Pa;He.BoundingSphere.fromVertices(t,Be.Cartesian3.ZERO,3,Re[0]),He.BoundingSphere.fromVertices(n,Be.Cartesian3.ZERO,3,Re[1]);var De=He.BoundingSphere.fromBoundingSpheres(Re);De.radius+=q/(2*p);var ze={position:new Ye.GeometryAttribute({componentDatatype:Ge.ComponentDatatype.DOUBLE,componentsPerAttribute:3,normalize:!1,values:v}),startHiAndForwardOffsetX:Ia(y),startLoAndForwardOffsetY:Ia(M),startNormalAndForwardOffsetZ:Ia(T),endNormalAndTextureCoordinateNormalizationX:Ia(E),rightNormalAndTextureCoordinateNormalizationY:Ia(_)};s&&(ze.startHiLo2D=Ia(u),ze.offsetAndRight2D=Ia(c),ze.startEndNormals2D=Ia(C),ze.texcoordNormalization2D=new Ye.GeometryAttribute({componentDatatype:Ge.ComponentDatatype.FLOAT,componentsPerAttribute:2,normalize:!1,values:d}));return new Ye.Geometry({attributes:ze,indices:w,boundingSphere:De})}(l,d,P,k,b,O,o)}};var N=new Be.Cartesian3,R=new He.Matrix3,D=new He.Quaternion;function We(e,a,t,n){var i=Xe(t,a,N),r=Be.Cartesian3.dot(i,e);if(qe<r||r<w){var s=Xe(n,t,x),o=r<w?je.CesiumMath.PI_OVER_TWO:-je.CesiumMath.PI_OVER_TWO,l=He.Quaternion.fromAxisAngle(s,o,D),u=He.Matrix3.fromQuaternion(l,R);return He.Matrix3.multiplyByVector(u,e,e),!0}return!1}var z=new Be.Cartographic,H=new Be.Cartesian3,B=new Be.Cartesian3;function Ue(e,a,t,n,i){var r=Be.Cartographic.toCartesian(a,e._ellipsoid,H),s=Be.Cartesian3.add(r,t,B),o=!1,l=e._ellipsoid,u=l.cartesianToCartographic(s,z);Math.abs(a.longitude-u.longitude)>je.CesiumMath.PI_OVER_TWO&&(o=!0,s=Be.Cartesian3.subtract(r,t,B),u=l.cartesianToCartographic(s,z)),u.height=0;var c=e.project(u,i);return(i=Be.Cartesian3.subtract(c,n,i)).z=0,i=Be.Cartesian3.normalize(i,i),o&&Be.Cartesian3.negate(i,i),i}var le=new Be.Cartesian3,ue=new Be.Cartesian3;function Ze(e,a,t,n,i,r){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,i);var u=n-W;l=Be.Cartesian3.multiplyByScalar(s,u,ue),Be.Cartesian3.add(a,l,r)}var ce=new Be.Cartesian3;function Je(e,a){var t=r.Plane.getPointDistance(K,e),n=r.Plane.getPointDistance(K,a),i=ce;je.CesiumMath.equalsEpsilon(t,0,je.CesiumMath.EPSILON2)?(i=Xe(a,e,i),Be.Cartesian3.multiplyByScalar(i,je.CesiumMath.EPSILON2,i),Be.Cartesian3.add(e,i,e)):je.CesiumMath.equalsEpsilon(n,0,je.CesiumMath.EPSILON2)&&(i=Xe(e,a,i),Be.Cartesian3.multiplyByScalar(i,je.CesiumMath.EPSILON2,i),Be.Cartesian3.add(a,i,a))}function Qe(e,a){var t=Math.abs(e.longitude),n=Math.abs(a.longitude);if(je.CesiumMath.equalsEpsilon(t,je.CesiumMath.PI,je.CesiumMath.EPSILON11)){var i=je.CesiumMath.sign(a.longitude);return e.longitude=i*(t-je.CesiumMath.EPSILON11),1}if(je.CesiumMath.equalsEpsilon(n,je.CesiumMath.PI,je.CesiumMath.EPSILON11)){var r=je.CesiumMath.sign(e.longitude);return a.longitude=r*(n-je.CesiumMath.EPSILON11),2}return 0}var Ke=new Be.Cartographic,$e=new Be.Cartographic,ea=new Be.Cartesian3,aa=new Be.Cartesian3,ta=new Be.Cartesian3,na=new Be.Cartesian3,ia=new Be.Cartesian3,ra=new Be.Cartesian3,sa=[Ke,$e],oa=new Be.Rectangle,la=new Be.Cartesian3,ua=new Be.Cartesian3,ca=new Be.Cartesian3,Ca=new Be.Cartesian3,da=new Be.Cartesian3,ha=new Be.Cartesian3,pa=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,Ma=new Be.Cartesian3,Ta=new Ve.EncodedCartesian3,Ea=new Ve.EncodedCartesian3,_a=new Be.Cartesian3,Oa=new Be.Cartesian3,ba=new Be.Cartesian3,Pa=[new He.BoundingSphere,new He.BoundingSphere],ka=[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],Aa=ka.length;function Ia(e){return new Ye.GeometryAttribute({componentDatatype:Ge.ComponentDatatype.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}return v._projectNormal=Ue,function(e,a){return Fe.initialize().then(function(){return j.defined(a)&&(e=v.unpack(e,a)),v.createGeometry(e)})}});
|