2 lines
7.2 KiB
JavaScript
2 lines
7.2 KiB
JavaScript
|
|
define(["./AxisAlignedBoundingBox-dcfdb7a9","./Transforms-251ff661","./Cartesian2-697a9954","./when-54335d57","./TerrainEncoding-24b5ef86","./Math-737a2579","./OrientedBoundingBox-d1fd9cf8","./RuntimeError-88a32665","./WebMercatorProjection-6a6458e9","./createTaskProcessorWorker","./Check-f3fec9b0","./AttributeCompression-ab5c33b7","./ComponentDatatype-417761a2","./WebGLConstants-4739ce15","./EllipsoidTangentPlane-ae33ec6a","./IntersectionTests-3e34a0aa","./Plane-d4cb7bb3"],function(ve,Me,xe,Ne,be,Se,we,Be,Pe,e,t,i,n,a,r,o,s){"use strict";var Ae=Uint16Array.BYTES_PER_ELEMENT,ye=Int32Array.BYTES_PER_ELEMENT,Re=Uint32Array.BYTES_PER_ELEMENT,_e=Float32Array.BYTES_PER_ELEMENT,We=Float64Array.BYTES_PER_ELEMENT;function Fe(e,t,i){i=Ne.defaultValue(i,Se.CesiumMath);for(var n=e.length,a=0;a<n;++a)if(i.equalsEpsilon(e[a],t,Se.CesiumMath.EPSILON12))return a;return-1}var Oe=new xe.Cartographic,Ye=new xe.Cartesian3,ke=new xe.Cartesian3,Ue=new xe.Cartesian3,Ve=new Me.Matrix4;function He(e,t,i,n,a,r,o,s,u,h,c){for(var d=s.length,g=0;g<d;++g){var l=s[g],m=l.cartographic,p=l.index,I=e.length,E=m.longitude,f=m.latitude,f=Se.CesiumMath.clamp(f,-Se.CesiumMath.PI_OVER_TWO,Se.CesiumMath.PI_OVER_TWO),m=m.height-o.skirtHeight;o.hMin=Math.min(o.hMin,m),xe.Cartographic.fromRadians(E,f,m,Oe),h&&(Oe.longitude+=u),h?g===d-1?Oe.latitude+=c:0===g&&(Oe.latitude-=c):Oe.latitude+=u;f=o.ellipsoid.cartographicToCartesian(Oe);e.push(f),t.push(m),i.push(xe.Cartesian2.clone(i[p])),0<n.length&&n.push(n[p]),0<a.length&&a.push(a[p]),Me.Matrix4.multiplyByPoint(o.toENU,f,Ye);m=o.minimum,f=o.maximum;xe.Cartesian3.minimumByComponent(Ye,m,m),xe.Cartesian3.maximumByComponent(Ye,f,f);f=o.lastBorderPoint;Ne.defined(f)&&(f=f.index,r.push(f,I-1,I,I,p,f)),o.lastBorderPoint=l}}return e(function(e,t){e.ellipsoid=xe.Ellipsoid.clone(e.ellipsoid),e.rectangle=xe.Rectangle.clone(e.rectangle);var i=function(e,t,i,n,a,r,o,s,u,h,c){var d,g,l,m,p;le=Ne.defined(n)?(d=n.west,g=n.south,l=n.east,m=n.north,p=n.width,n.height):(d=Se.CesiumMath.toRadians(a.west),g=Se.CesiumMath.toRadians(a.south),l=Se.CesiumMath.toRadians(a.east),m=Se.CesiumMath.toRadians(a.north),p=Se.CesiumMath.toRadians(n.width),Se.CesiumMath.toRadians(n.height));var I,E,f=[g,m],T=[d,l],C=Me.Transforms.eastNorthUpToFixedFrame(t,i),v=Me.Matrix4.inverseTransformation(C,Ve);u&&(I=Pe.WebMercatorProjection.geodeticLatitudeToMercatorAngle(g),E=1/(Pe.WebMercatorProjection.geodeticLatitudeToMercatorAngle(m)-I));var M=1!==r,x=new DataView(e),N=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY,S=ke;S.x=Number.POSITIVE_INFINITY,S.y=Number.POSITIVE_INFINITY,S.z=Number.POSITIVE_INFINITY;var w=Ue;w.x=Number.NEGATIVE_INFINITY,w.y=Number.NEGATIVE_INFINITY,w.z=Number.NEGATIVE_INFINITY;var B,P,A=0,y=0,R=0;for(P=0;P<4;++P){var _=A;B=x.getUint32(_,!0),_+=Re;var W=Se.CesiumMath.toRadians(180*x.getFloat64(_,!0));_+=We,-1===Fe(T,W)&&T.push(W);W=Se.CesiumMath.toRadians(180*x.getFloat64(_,!0));_+=We,-1===Fe(f,W)&&f.push(W),_+=2*We;W=x.getInt32(_,!0);_+=ye,y+=W,W=x.getInt32(_,!0),R+=3*W,A+=B+Re}var F=[],O=[],Y=new Array(y),k=new Array(y),U=new Array(y),V=u?new Array(y):[],H=M?new Array(y):[],L=new Array(R),D=[],G=[],j=[],z=[],q=0,J=0;for(P=A=0;P<4;++P){B=x.getUint32(A,!0);var K=A+=Re,Q=Se.CesiumMath.toRadians(180*x.getFloat64(A,!0));A+=We;var X=Se.CesiumMath.toRadians(180*x.getFloat64(A,!0));A+=We;var Z=Se.CesiumMath.toRadians(180*x.getFloat64(A,!0)),$=.5*Z;A+=We;var ee=Se.CesiumMath.toRadians(180*x.getFloat64(A,!0)),te=.5*ee;A+=We;var ie=x.getInt32(A,!0);A+=ye;var ne=x.getInt32(A,!0);A+=ye,A+=ye;for(var ae=new Array(ie),re=0;re<ie;++re){var oe=Q+x.getUint8(A++)*Z;Oe.longitude=oe;var se=X+x.getUint8(A++)*ee;Oe.latitude=se;var ue=x.getFloat32(A,!0);if(A+=_e,0!==ue&&ue<c&&(ue*=-Math.pow(2,h)),ue*=6371010,Oe.height=ue,-1!==Fe(T,oe)||-1!==Fe(f,se)){var he=Fe(F,Oe,xe.Cartographic);if(-1!==he){ae[re]=O[he];continue}F.push(xe.Cartographic.clone(Oe)),O.push(q)}ae[re]=q,Math.abs(oe-d)<$?D.push({index:q,cartographic:xe.Cartographic.clone(Oe)}):Math.abs(oe-l)<$?j.push({index:q,cartographic:xe.Cartographic.clone(Oe)}):Math.abs(se-g)<te?G.push({index:q,ca
|