1
Surpriseplus
2022-09-16 a7e5110ef3f5fe3c9205f7d1a526b9fbbb55d826
1
define(["./when-e3a49219","./Matrix2-ae0e0b05","./ArcType-5c308c35","./Transforms-a6362ad2","./Color-341b20f8","./ComponentDatatype-64cf6611","./RuntimeError-ffc802eb","./GeometryAttribute-50aef525","./GeometryAttributes-3db3f2c9","./IndexDatatype-e12e2493","./PolylinePipeline-e16881a5","./PixelFormat-83d70a69","./WebGLConstants-1c8239cc","./combine-c7a1ec8a","./EllipsoidGeodesic-524df442","./EllipsoidRhumbLine-b6518e5c","./IntersectionTests-8be403d7","./Plane-2bf1bb80"],(function(e,o,r,t,a,l,i,n,s,p,c,d,y,f,u,h,C,T){"use strict";function g(e,o,r,t,l,i,n){var s,p=c.PolylinePipeline.numberOfPoints(e,o,l),d=r.red,y=r.green,f=r.blue,u=r.alpha,h=t.red,C=t.green,T=t.blue,g=t.alpha;if(a.Color.equals(r,t)){for(s=0;s<p;s++)i[n++]=a.Color.floatToByte(d),i[n++]=a.Color.floatToByte(y),i[n++]=a.Color.floatToByte(f),i[n++]=a.Color.floatToByte(u);return n}var m=(h-d)/p,v=(C-y)/p,b=(T-f)/p,P=(g-u)/p,_=n;for(s=0;s<p;s++)i[_++]=a.Color.floatToByte(d+s*m),i[_++]=a.Color.floatToByte(y+s*v),i[_++]=a.Color.floatToByte(f+s*b),i[_++]=a.Color.floatToByte(u+s*P);return _}function m(t){var i=(t=e.defaultValue(t,e.defaultValue.EMPTY_OBJECT)).positions,n=t.colors,s=e.defaultValue(t.colorsPerVertex,!1);this._positions=i,this._colors=n,this._colorsPerVertex=s,this._arcType=e.defaultValue(t.arcType,r.ArcType.GEODESIC),this._granularity=e.defaultValue(t.granularity,l.CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=e.defaultValue(t.ellipsoid,o.Ellipsoid.WGS84),this._workerName="createSimplePolylineGeometry";var p=1+i.length*o.Cartesian3.packedLength;p+=e.defined(n)?1+n.length*a.Color.packedLength:1,this.packedLength=p+o.Ellipsoid.packedLength+3}m.pack=function(r,t,l){var i;l=e.defaultValue(l,0);var n=r._positions,s=n.length;for(t[l++]=s,i=0;i<s;++i,l+=o.Cartesian3.packedLength)o.Cartesian3.pack(n[i],t,l);var p=r._colors;for(s=e.defined(p)?p.length:0,t[l++]=s,i=0;i<s;++i,l+=a.Color.packedLength)a.Color.pack(p[i],t,l);return o.Ellipsoid.pack(r._ellipsoid,t,l),l+=o.Ellipsoid.packedLength,t[l++]=r._colorsPerVertex?1:0,t[l++]=r._arcType,t[l]=r._granularity,t},m.unpack=function(r,t,l){var i;t=e.defaultValue(t,0);var n=r[t++],s=new Array(n);for(i=0;i<n;++i,t+=o.Cartesian3.packedLength)s[i]=o.Cartesian3.unpack(r,t);var p=(n=r[t++])>0?new Array(n):void 0;for(i=0;i<n;++i,t+=a.Color.packedLength)p[i]=a.Color.unpack(r,t);var c=o.Ellipsoid.unpack(r,t);t+=o.Ellipsoid.packedLength;var d=1===r[t++],y=r[t++],f=r[t];return e.defined(l)?(l._positions=s,l._colors=p,l._ellipsoid=c,l._colorsPerVertex=d,l._arcType=y,l._granularity=f,l):new m({positions:s,colors:p,ellipsoid:c,colorsPerVertex:d,arcType:y,granularity:f})};var v=new Array(2),b=new Array(2),P={positions:v,height:b,ellipsoid:void 0,minDistance:void 0,granularity:void 0};return m.createGeometry=function(i){var d,y,f,u,h,C=i._positions,T=i._colors,m=i._colorsPerVertex,_=i._arcType,B=i._granularity,A=i._ellipsoid,E=l.CesiumMath.chordLength(B,A.maximumRadius),k=e.defined(T)&&!m,G=C.length,w=0;if(_===r.ArcType.GEODESIC||_===r.ArcType.RHUMB){var D,L,V;_===r.ArcType.GEODESIC?(D=l.CesiumMath.chordLength(B,A.maximumRadius),L=c.PolylinePipeline.numberOfPoints,V=c.PolylinePipeline.generateArc):(D=B,L=c.PolylinePipeline.numberOfPointsRhumbLine,V=c.PolylinePipeline.generateRhumbArc);var x=c.PolylinePipeline.extractHeights(C,A),S=P;if(_===r.ArcType.GEODESIC?S.minDistance=E:S.granularity=B,S.ellipsoid=A,k){var I=0;for(d=0;d<G-1;d++)I+=L(C[d],C[d+1],D)+1;y=new Float64Array(3*I),u=new Uint8Array(4*I),S.positions=v,S.height=b;var R=0;for(d=0;d<G-1;++d){v[0]=C[d],v[1]=C[d+1],b[0]=x[d],b[1]=x[d+1];var O=V(S);if(e.defined(T)){var M=O.length/3;h=T[d];for(var U=0;U<M;++U)u[R++]=a.Color.floatToByte(h.red),u[R++]=a.Color.floatToByte(h.green),u[R++]=a.Color.floatToByte(h.blue),u[R++]=a.Color.floatToByte(h.alpha)}y.set(O,w),w+=O.length}}else if(S.positions=C,S.height=x,y=new Float64Array(V(S)),e.defined(T)){for(u=new Uint8Array(y.length/3*4),d=0;d<G-1;++d){w=g(C[d],C[d+1],T[d],T[d+1],E,u,w)}var N=T[G-1];u[w++]=a.Color.floatToByte(N.red),u[w++]=a.Color.floatToByte(N.green),u[w++]=a.Color.floatToByte(N.blue),u[w++]=a.Color.floatToByte(N.alpha)}}else{f=k?2*G-2:G,y=new Float64Array(3*f),u=e.defined(T)?new Uint8Array(4*f):void 0;var F=0,H=0;for(d=0;d<G;++d){var W=C[d];if(k&&d>0&&(o.Cartesian3.pack(W,y,F),F+=3,h=T[d-1],u[H++]=a.Color.floatToByte(h.red),u[H++]=a.Color.floatToByte(h.green),u[H++]=a.Color.floatToByte(h.blue),u[H++]=a.Color.floatToByte(h.alpha)),k&&d===G-1)break;o.Cartesian3.pack(W,y,F),F+=3,e.defined(T)&&(h=T[d],u[H++]=a.Color.floatToByte(h.red),u[H++]=a.Color.floatToByte(h.green),u[H++]=a.Color.floatToByte(h.blue),u[H++]=a.Color.floatToByte(h.alpha))}}var Y=new s.GeometryAttributes;Y.position=new n.GeometryAttribute({componentDatatype:l.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:y}),e.defined(T)&&(Y.color=new n.GeometryAttribute({componentDatatype:l.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:4,values:u,normalize:!0}));var q=2*((f=y.length/3)-1),z=p.IndexDatatype.createTypedArray(f,q),J=0;for(d=0;d<f-1;++d)z[J++]=d,z[J++]=d+1;return new n.Geometry({attributes:Y,indices:z,primitiveType:n.PrimitiveType.LINES,boundingSphere:t.BoundingSphere.fromPoints(C)})},function(r,t){return e.defined(t)&&(r=m.unpack(r,t)),r._ellipsoid=o.Ellipsoid.clone(r._ellipsoid),m.createGeometry(r)}}));