1
Surpriseplus
2022-09-16 a7e5110ef3f5fe3c9205f7d1a526b9fbbb55d826
1
define(["./AttributeCompression-8cb78525","./Matrix2-ae0e0b05","./combine-c7a1ec8a","./IndexDatatype-e12e2493","./ComponentDatatype-64cf6611","./createTaskProcessorWorker","./RuntimeError-ffc802eb","./when-e3a49219","./PixelFormat-83d70a69","./WebGLConstants-1c8239cc"],(function(a,e,t,r,s,n,i,o,d,f){"use strict";var l=32767,c=Math.cos(s.CesiumMath.toRadians(150)),h=new e.Cartographic,u=new e.Cartesian3;var C=new e.Cartographic,p=new e.Cartographic;function v(a){var e=8*a,t=3*e,s=4*e;this.startEllipsoidNormals=new Float32Array(t),this.endEllipsoidNormals=new Float32Array(t),this.startPositionAndHeights=new Float32Array(s),this.startFaceNormalAndVertexCornerIds=new Float32Array(s),this.endPositionAndHeights=new Float32Array(s),this.endFaceNormalAndHalfWidths=new Float32Array(s),this.vertexBatchIds=new Uint16Array(e),this.indices=r.IndexDatatype.createTypedArray(e,36*a),this.vec3Offset=0,this.vec4Offset=0,this.batchIdOffset=0,this.indexOffset=0,this.volumeStartIndex=0}var m=new e.Cartesian3,b=new e.Cartesian3;function A(a,t,r,s,n){var i=e.Cartesian3.subtract(r,t,b),o=e.Cartesian3.subtract(t,a,m);return e.Cartesian3.normalize(i,i),e.Cartesian3.normalize(o,o),e.Cartesian3.dot(i,o)<c&&(o=e.Cartesian3.multiplyByScalar(o,-1,m)),e.Cartesian3.add(i,o,n),e.Cartesian3.equals(n,e.Cartesian3.ZERO)&&(n=e.Cartesian3.subtract(a,t)),e.Cartesian3.cross(n,s,n),e.Cartesian3.cross(s,n,n),e.Cartesian3.normalize(n,n),n}var w=[0,2,6,0,6,4,0,1,3,0,3,2,0,4,5,0,5,1,5,3,1,5,7,3,7,5,4,7,4,6,7,6,2,7,2,3],g=w.length,y=new e.Cartesian3,N=new e.Cartesian3,k=new e.Cartesian3,x=new e.Cartesian3,I=new e.Cartesian3;v.prototype.addVolume=function(a,t,r,s,n,i,o,d,f,l){var c=e.Cartesian3.add(t,f,y),h=l.geodeticSurfaceNormal(c,N);c=e.Cartesian3.add(r,f,y);var u,C=l.geodeticSurfaceNormal(c,x),p=A(a,t,r,h,k),v=A(s,r,t,C,I),m=this.startEllipsoidNormals,b=this.endEllipsoidNormals,E=this.startPositionAndHeights,F=this.startFaceNormalAndVertexCornerIds,H=this.endPositionAndHeights,P=this.endFaceNormalAndHalfWidths,O=this.vertexBatchIds,D=this.batchIdOffset,S=this.vec3Offset,M=this.vec4Offset;for(u=0;u<8;u++)e.Cartesian3.pack(h,m,S),e.Cartesian3.pack(C,b,S),e.Cartesian3.pack(t,E,M),E[M+3]=n,e.Cartesian3.pack(r,H,M),H[M+3]=i,e.Cartesian3.pack(p,F,M),F[M+3]=u,e.Cartesian3.pack(v,P,M),P[M+3]=o,O[D++]=d,S+=3,M+=4;this.batchIdOffset=D,this.vec3Offset=S,this.vec4Offset=M;var R=this.indices,U=this.volumeStartIndex,B=this.indexOffset;for(u=0;u<g;u++)R[B+u]=w[u]+U;this.volumeStartIndex+=8,this.indexOffset+=g};var E=new e.Rectangle,F=new e.Ellipsoid,H=new e.Cartesian3,P=new e.Cartesian3,O=new e.Cartesian3,D=new e.Cartesian3,S=new e.Cartesian3;return n((function(n,i){var o,d=new Uint16Array(n.positions),f=new Uint16Array(n.widths),c=new Uint32Array(n.counts),m=new Uint16Array(n.batchIds),b=E,A=F,w=H,g=new Float64Array(n.packedBuffer),y=0,N=g[y++],k=g[y++];e.Rectangle.unpack(g,y,b),y+=e.Rectangle.packedLength,e.Ellipsoid.unpack(g,y,A),y+=e.Ellipsoid.packedLength,e.Cartesian3.unpack(g,y,w);var x=d.length/3,I=d.subarray(0,x),M=d.subarray(x,2*x),R=d.subarray(2*x,3*x);a.AttributeCompression.zigZagDeltaDecode(I,M,R),function(a,t,r,s){for(var n=s.length,i=a.length,o=new Uint8Array(i),d=C,f=p,l=0,c=0;c<n;c++){for(var h=s[c],u=h,v=1;v<h;v++){var m=l+v,b=m-1;f.longitude=a[m],f.latitude=t[m],d.longitude=a[b],d.latitude=t[b],e.Cartographic.equals(f,d)&&(u--,o[b]=1)}s[c]=u,l+=h}for(var A=0,w=0;w<i;w++)1!==o[w]&&(a[A]=a[w],t[A]=t[w],r[A]=r[w],A++)}(I,M,R,c);var U=c.length,B=0;for(o=0;o<U;o++){B+=c[o]-1}var T=new v(B),V=function(a,t,r,n,i,o,d){for(var f=a.length,c=new Float64Array(3*f),C=0;C<f;++C){var p=a[C],v=t[C],m=r[C],b=s.CesiumMath.lerp(n.west,n.east,p/l),A=s.CesiumMath.lerp(n.south,n.north,v/l),w=s.CesiumMath.lerp(i,o,m/l),g=e.Cartographic.fromRadians(b,A,w,h),y=d.cartographicToCartesian(g,u);e.Cartesian3.pack(y,c,3*C)}return c}(I,M,R,b,N,k,A);x=I.length;var W=new Float32Array(3*x);for(o=0;o<x;++o)W[3*o]=V[3*o]-w.x,W[3*o+1]=V[3*o+1]-w.y,W[3*o+2]=V[3*o+2]-w.z;var z=0,q=0;for(o=0;o<U;o++){for(var L=c[o]-1,_=.5*f[o],G=m[o],Z=z,Y=0;Y<L;Y++){var j=e.Cartesian3.unpack(W,z,O),J=e.Cartesian3.unpack(W,z+3,D),K=R[q],Q=R[q+1];K=s.CesiumMath.lerp(N,k,K/l),Q=s.CesiumMath.lerp(N,k,Q/l),q++;var X=P,$=S;if(0===Y){var aa=Z+3*L,ea=e.Cartesian3.unpack(W,aa,P);if(e.Cartesian3.equals(ea,j))e.Cartesian3.unpack(W,aa-3,X);else{var ta=e.Cartesian3.subtract(j,J,P);X=e.Cartesian3.add(ta,j,P)}}else e.Cartesian3.unpack(W,z-3,X);if(Y===L-1){var ra=e.Cartesian3.unpack(W,Z,S);if(e.Cartesian3.equals(ra,J))e.Cartesian3.unpack(W,Z+3,$);else{var sa=e.Cartesian3.subtract(J,j,S);$=e.Cartesian3.add(sa,J,S)}}else e.Cartesian3.unpack(W,z+6,$);T.addVolume(X,j,J,$,K,Q,_,G,w,A),z+=3}z+=3,q++}var na=T.indices;i.push(T.startEllipsoidNormals.buffer),i.push(T.endEllipsoidNormals.buffer),i.push(T.startPositionAndHeights.buffer),i.push(T.startFaceNormalAndVertexCornerIds.buffer),i.push(T.endPositionAndHeights.buffer),i.push(T.endFaceNormalAndHalfWidths.buffer),i.push(T.vertexBatchIds.buffer),i.push(na.buffer);var ia={indexDatatype:2===na.BYTES_PER_ELEMENT?r.IndexDatatype.UNSIGNED_SHORT:r.IndexDatatype.UNSIGNED_INT,startEllipsoidNormals:T.startEllipsoidNormals.buffer,endEllipsoidNormals:T.endEllipsoidNormals.buffer,startPositionAndHeights:T.startPositionAndHeights.buffer,startFaceNormalAndVertexCornerIds:T.startFaceNormalAndVertexCornerIds.buffer,endPositionAndHeights:T.endPositionAndHeights.buffer,endFaceNormalAndHalfWidths:T.endFaceNormalAndHalfWidths.buffer,vertexBatchIds:T.vertexBatchIds.buffer,indices:na.buffer};if(n.keepDecodedPositions){var oa=function(a){for(var e=a.length,t=new Uint32Array(e+1),r=0,s=0;s<e;++s)t[s]=r,r+=a[s];return t[e]=r,t}(c);i.push(V.buffer,oa.buffer),ia=t.combine(ia,{decodedPositions:V.buffer,decodedPositionOffsets:oa.buffer})}return ia}))}));