1
Surpriseplus
2022-09-16 a7e5110ef3f5fe3c9205f7d1a526b9fbbb55d826
1
define(["./Transforms-a6362ad2","./BoxGeometry-b2e0ce33","./Matrix2-ae0e0b05","./Color-341b20f8","./CylinderGeometry-75675d14","./when-e3a49219","./EllipsoidGeometry-0a615dd9","./IndexDatatype-e12e2493","./createTaskProcessorWorker","./RuntimeError-ffc802eb","./ComponentDatatype-64cf6611","./WebGLConstants-1c8239cc","./combine-c7a1ec8a","./GeometryOffsetAttribute-9dbaeacc","./GeometryAttribute-50aef525","./GeometryAttributes-3db3f2c9","./VertexFormat-9bafa8ef","./PixelFormat-83d70a69","./CylinderGeometryLibrary-17d021e5"],(function(e,t,n,r,a,i,o,d,s,c,f,l,u,h,b,p,y,x,g){"use strict";function v(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var m=new n.Cartesian3,C=n.Matrix4.packedLength+n.Cartesian3.packedLength,I=n.Matrix4.packedLength+2,k=n.Matrix4.packedLength+n.Cartesian3.packedLength,M=n.Cartesian3.packedLength+1,B={modelMatrix:new n.Matrix4,boundingVolume:new e.BoundingSphere};function w(e,t){var r=t*C,a=n.Cartesian3.unpack(e,r,m);r+=n.Cartesian3.packedLength;var i=n.Matrix4.unpack(e,r,B.modelMatrix);n.Matrix4.multiplyByScale(i,a,i);var o=B.boundingVolume;return n.Cartesian3.clone(n.Cartesian3.ZERO,o.center),o.radius=Math.sqrt(3),B}function A(e,t){var r=t*I,a=e[r++],i=e[r++],o=n.Cartesian3.fromElements(a,a,i,m),d=n.Matrix4.unpack(e,r,B.modelMatrix);n.Matrix4.multiplyByScale(d,o,d);var s=B.boundingVolume;return n.Cartesian3.clone(n.Cartesian3.ZERO,s.center),s.radius=Math.sqrt(2),B}function O(e,t){var r=t*k,a=n.Cartesian3.unpack(e,r,m);r+=n.Cartesian3.packedLength;var i=n.Matrix4.unpack(e,r,B.modelMatrix);n.Matrix4.multiplyByScale(i,a,i);var o=B.boundingVolume;return n.Cartesian3.clone(n.Cartesian3.ZERO,o.center),o.radius=1,B}function L(e,t){var r=t*M,a=e[r++],i=n.Cartesian3.unpack(e,r,m),o=n.Matrix4.fromTranslation(i,B.modelMatrix);n.Matrix4.multiplyByUniformScale(o,a,o);var d=B.boundingVolume;return n.Cartesian3.clone(n.Cartesian3.ZERO,d.center),d.radius=1,B}var E=new n.Cartesian3;function U(t,a,o,d,s){if(i.defined(a)){for(var c=o.length,f=d.attributes.position.values,l=d.indices,u=t.positions,h=t.vertexBatchIds,b=t.indices,p=t.batchIds,y=t.batchTableColors,x=t.batchedIndices,g=t.indexOffsets,m=t.indexCounts,C=t.boundingVolumes,I=t.modelMatrix,k=t.center,M=t.positionOffset,B=t.batchIdIndex,w=t.indexOffset,A=t.batchedIndicesOffset,O=0;O<c;++O){var L=s(a,O),U=L.modelMatrix;n.Matrix4.multiply(I,U,U);for(var G=o[O],S=f.length,F=0;F<S;F+=3){var T=n.Cartesian3.unpack(f,F,E);n.Matrix4.multiplyByPoint(U,T,T),n.Cartesian3.subtract(T,k,T),n.Cartesian3.pack(T,u,3*M+F),h[B++]=G}for(var V=l.length,R=0;R<V;++R)b[w+R]=l[R]+M;var P=O+A;x[P]=new v({offset:w,count:V,color:r.Color.fromRgba(y[G]),batchIds:[G]}),p[P]=G,g[P]=w,m[P]=V,C[P]=e.BoundingSphere.transform(L.boundingVolume,U),M+=S/3,w+=V}t.positionOffset=M,t.batchIdIndex=B,t.indexOffset=w,t.batchedIndicesOffset+=c}}var G=new n.Cartesian3,S=new n.Matrix4;function F(t,n,a){var i=a.length,o=2+i*e.BoundingSphere.packedLength+1+function(e){for(var t=e.length,n=0,a=0;a<t;++a)n+=r.Color.packedLength+3+e[a].batchIds.length;return n}(n),d=new Float64Array(o),s=0;d[s++]=t,d[s++]=i;for(var c=0;c<i;++c)e.BoundingSphere.pack(a[c],d,s),s+=e.BoundingSphere.packedLength;var f=n.length;d[s++]=f;for(var l=0;l<f;++l){var u=n[l];r.Color.pack(u.color,d,s),s+=r.Color.packedLength,d[s++]=u.offset,d[s++]=u.count;var h=u.batchIds,b=h.length;d[s++]=b;for(var p=0;p<b;++p)d[s++]=h[p]}return d}return s((function(e,r){var s=i.defined(e.boxes)?new Float32Array(e.boxes):void 0,c=i.defined(e.boxBatchIds)?new Uint16Array(e.boxBatchIds):void 0,f=i.defined(e.cylinders)?new Float32Array(e.cylinders):void 0,l=i.defined(e.cylinderBatchIds)?new Uint16Array(e.cylinderBatchIds):void 0,u=i.defined(e.ellipsoids)?new Float32Array(e.ellipsoids):void 0,h=i.defined(e.ellipsoidBatchIds)?new Uint16Array(e.ellipsoidBatchIds):void 0,b=i.defined(e.spheres)?new Float32Array(e.spheres):void 0,p=i.defined(e.sphereBatchIds)?new Uint16Array(e.sphereBatchIds):void 0,y=i.defined(s)?c.length:0,x=i.defined(f)?l.length:0,g=i.defined(u)?h.length:0,v=i.defined(b)?p.length:0,m=t.BoxGeometry.getUnitBox(),C=a.CylinderGeometry.getUnitCylinder(),I=o.EllipsoidGeometry.getUnitEllipsoid(),k=m.attributes.position.values,M=C.attributes.position.values,B=I.attributes.position.values,E=k.length*y;E+=M.length*x,E+=B.length*(g+v);var T=m.indices,V=C.indices,R=I.indices,P=T.length*y;P+=V.length*x,P+=R.length*(g+v);var Z=new Float32Array(E),D=new Uint16Array(E/3),q=d.IndexDatatype.createTypedArray(E/3,P),W=y+x+g+v,_=new Uint16Array(W),N=new Array(W),Y=new Uint32Array(W),j=new Uint32Array(W),z=new Array(W);!function(e){var t=new Float64Array(e),r=0;n.Cartesian3.unpack(t,r,G),r+=n.Cartesian3.packedLength,n.Matrix4.unpack(t,r,S)}(e.packedBuffer);var H={batchTableColors:new Uint32Array(e.batchTableColors),positions:Z,vertexBatchIds:D,indices:q,batchIds:_,batchedIndices:N,indexOffsets:Y,indexCounts:j,boundingVolumes:z,positionOffset:0,batchIdIndex:0,indexOffset:0,batchedIndicesOffset:0,modelMatrix:S,center:G};U(H,s,c,m,w),U(H,f,l,C,A),U(H,u,h,I,O),U(H,b,p,I,L);var J=F(q.BYTES_PER_ELEMENT,N,z);return r.push(Z.buffer,D.buffer,q.buffer),r.push(_.buffer,Y.buffer,j.buffer),r.push(J.buffer),{positions:Z.buffer,vertexBatchIds:D.buffer,indices:q.buffer,indexOffsets:Y.buffer,indexCounts:j.buffer,batchIds:_.buffer,packedBuffer:J.buffer}}))}));