Lin_Ye_Fang_Huo/public/lib/Cesium/Workers/createVerticesFromGoogleEar...

2 lines
7.0 KiB
JavaScript
Raw Normal View History

2023-07-08 15:37:34 +08:00
define(["./EllipsoidTangentPlane-0fb66b96","./Transforms-5295b227","./Cartesian2-5b63e672","./when-ca391574","./TerrainEncoding-0f94e395","./Math-b53708b3","./OrientedBoundingBox-e61df120","./RuntimeError-19cb26ba","./WebMercatorProjection-e0329e39","./createTaskProcessorWorker","./Check-64f87f7d","./IntersectionTests-f5111308","./Plane-99b2becd","./AttributeCompression-a99f24b9","./ComponentDatatype-8f71e605","./WebGLConstants-95ceb4e9"],function(Te,fe,Ce,ve,Me,Ne,be,xe,Se,e,t,i,n,r,a,o){"use strict";var we=Uint16Array.BYTES_PER_ELEMENT,Pe=Int32Array.BYTES_PER_ELEMENT,Be=Uint32Array.BYTES_PER_ELEMENT,ye=Float32Array.BYTES_PER_ELEMENT,Ae=Float64Array.BYTES_PER_ELEMENT;function Re(e,t,i){i=ve.defaultValue(i,Ne.CesiumMath);for(var n=e.length,r=0;r<n;++r)if(i.equalsEpsilon(e[r],t,Ne.CesiumMath.EPSILON12))return r;return-1}var _e=new Ce.Cartographic,We=new Ce.Cartesian3,Fe=new Ce.Cartesian3,Oe=new Ce.Cartesian3,Ye=new fe.Matrix4;function ke(e,t,i,n,r,a,o,s,u,h){for(var c=o.length,d=0;d<c;++d){var g=o[d],l=g.cartographic,m=g.index,p=e.length,I=l.longitude,E=l.latitude,E=Ne.CesiumMath.clamp(E,-Ne.CesiumMath.PI_OVER_TWO,Ne.CesiumMath.PI_OVER_TWO),l=l.height-a.skirtHeight;a.hMin=Math.min(a.hMin,l),Ce.Cartographic.fromRadians(I,E,l,_e),u&&(_e.longitude+=s),u?d===c-1?_e.latitude+=h:0===d&&(_e.latitude-=h):_e.latitude+=s;E=a.ellipsoid.cartographicToCartesian(_e);e.push(E),t.push(l),i.push(Ce.Cartesian2.clone(i[m])),0<n.length&&n.push(n[m]),fe.Matrix4.multiplyByPoint(a.toENU,E,We);l=a.minimum,E=a.maximum;Ce.Cartesian3.minimumByComponent(We,l,l),Ce.Cartesian3.maximumByComponent(We,E,E);E=a.lastBorderPoint;ve.defined(E)&&(E=E.index,r.push(E,p-1,p,p,m,E)),a.lastBorderPoint=g}}return e(function(e,t){e.ellipsoid=Ce.Ellipsoid.clone(e.ellipsoid),e.rectangle=Ce.Rectangle.clone(e.rectangle);var i=function(e,t,i,n,r,a,o,s,u,h){var c,d,g,l,m;ce=ve.defined(n)?(c=n.west,d=n.south,g=n.east,l=n.north,m=n.width,n.height):(c=Ne.CesiumMath.toRadians(r.west),d=Ne.CesiumMath.toRadians(r.south),g=Ne.CesiumMath.toRadians(r.east),l=Ne.CesiumMath.toRadians(r.north),m=Ne.CesiumMath.toRadians(n.width),Ne.CesiumMath.toRadians(n.height));var p,I,E=[d,l],T=[c,g],f=fe.Transforms.eastNorthUpToFixedFrame(t,i),C=fe.Matrix4.inverseTransformation(f,Ye);s&&(p=Se.WebMercatorProjection.geodeticLatitudeToMercatorAngle(d),I=1/(Se.WebMercatorProjection.geodeticLatitudeToMercatorAngle(l)-p));var v=new DataView(e),M=Number.POSITIVE_INFINITY,N=Number.NEGATIVE_INFINITY,b=Fe;b.x=Number.POSITIVE_INFINITY,b.y=Number.POSITIVE_INFINITY,b.z=Number.POSITIVE_INFINITY;var x=Oe;x.x=Number.NEGATIVE_INFINITY,x.y=Number.NEGATIVE_INFINITY,x.z=Number.NEGATIVE_INFINITY;var S,w,P=0,B=0,y=0;for(w=0;w<4;++w){var A=P;S=v.getUint32(A,!0),A+=Be;var R=Ne.CesiumMath.toRadians(180*v.getFloat64(A,!0));A+=Ae,-1===Re(T,R)&&T.push(R);R=Ne.CesiumMath.toRadians(180*v.getFloat64(A,!0));A+=Ae,-1===Re(E,R)&&E.push(R),A+=2*Ae;R=v.getInt32(A,!0);A+=Pe,B+=R,R=v.getInt32(A,!0),y+=3*R,P+=S+Be}var _=[],W=[],F=new Array(B),O=new Array(B),Y=new Array(B),k=s?new Array(B):[],U=new Array(y),V=[],H=[],L=[],D=[],G=0,j=0;for(w=P=0;w<4;++w){S=v.getUint32(P,!0);var z=P+=Be,q=Ne.CesiumMath.toRadians(180*v.getFloat64(P,!0));P+=Ae;var J=Ne.CesiumMath.toRadians(180*v.getFloat64(P,!0));P+=Ae;var K=Ne.CesiumMath.toRadians(180*v.getFloat64(P,!0)),Q=.5*K;P+=Ae;var X=Ne.CesiumMath.toRadians(180*v.getFloat64(P,!0)),Z=.5*X;P+=Ae;var $=v.getInt32(P,!0);P+=Pe;var ee=v.getInt32(P,!0);P+=Pe,P+=Pe;for(var te=new Array($),ie=0;ie<$;++ie){var ne=q+v.getUint8(P++)*K;_e.longitude=ne;var re=J+v.getUint8(P++)*X;_e.latitude=re;var ae=v.getFloat32(P,!0);if(P+=ye,0!==ae&&ae<h&&(ae*=-Math.pow(2,u)),ae*=6371010*a,_e.height=ae,-1!==Re(T,ne)||-1!==Re(E,re)){var oe=Re(_,_e,Ce.Cartographic);if(-1!==oe){te[ie]=W[oe];continue}_.push(Ce.Cartographic.clone(_e)),W.push(G)}te[ie]=G,Math.abs(ne-c)<Q?V.push({index:G,cartographic:Ce.Cartographic.clone(_e)}):Math.abs(ne-g)<Q?L.push({index:G,cartographic:Ce.Cartographic.clone(_e)}):Math.abs(re-d)<Z?H.push({index:G,cartographic:Ce.Cartographic.clone(_e)}):Math.abs(re-l)<Z&&D.push({index:G,cartographic:Ce.Cartographic