createPolylineVolumeOutlineGeometry.js 3.5 KB

1
  1. define(["./when-92c6cf3c","./Rectangle-bab7abf0","./arrayRemoveDuplicates-f7eaafa2","./BoundingRectangle-418864a2","./buildModuleUrl-3d15f25c","./Cartesian2-6033fa5d","./Cartographic-67e73ef9","./ComponentDatatype-81047f82","./PolylineVolumeGeometryLibrary-9a645937","./Check-52a7d806","./GeometryAttribute-ef657318","./GeometryAttributes-7f66ea53","./IndexDatatype-4c0e98b8","./Math-92c3b5f7","./PolygonPipeline-b86e8785","./PrimitiveType-cdfe443e","./WindingOrder-1b9c8a87","./Intersect-b97e930a","./Event-3390cd7d","./RuntimeError-c6a62a80","./WebGLConstants-71f10989","./Cartesian4-ad128b5d","./EllipsoidTangentPlane-53184efd","./IntersectionTests-a42760d9","./Plane-f8d22530","./PolylinePipeline-c0932bf7","./EllipsoidGeodesic-04ac0e77","./EllipsoidRhumbLine-8847d1a1","./FeatureDetection-067cb23c"],(function(e,t,i,n,r,o,a,s,p,l,c,d,u,h,y,f,g,v,_,m,P,b,k,w,E,D,L,T,A){"use strict";function C(i){var n=(i=e.u(i,e.u.EMPTY_OBJECT)).polylinePositions,r=i.shapePositions;if(!e.e(n))throw new l.t("options.polylinePositions is required.");if(!e.e(r))throw new l.t("options.shapePositions is required.");this._positions=n,this._shape=r,this._ellipsoid=t.t.clone(e.u(i.ellipsoid,t.t.WGS84)),this._cornerType=e.u(i.cornerType,p.S.ROUNDED),this._granularity=e.u(i.granularity,h.e.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";var s=1+n.length*a.t.packedLength;s+=1+r.length*o.o.packedLength,this.packedLength=s+t.t.packedLength+2}C.pack=function(i,n,r){if(!e.e(i))throw new l.t("value is required");if(!e.e(n))throw new l.t("array is required");r=e.u(r,0);var s,p=i._positions,c=p.length;for(n[r++]=c,s=0;s<c;++s,r+=a.t.packedLength)a.t.pack(p[s],n,r);var d=i._shape;for(c=d.length,n[r++]=c,s=0;s<c;++s,r+=o.o.packedLength)o.o.pack(d[s],n,r);return t.t.pack(i._ellipsoid,n,r),r+=t.t.packedLength,n[r++]=i._cornerType,n[r]=i._granularity,n};var G=t.t.clone(t.t.UNIT_SPHERE),I={polylinePositions:void 0,shapePositions:void 0,ellipsoid:G,height:void 0,cornerType:void 0,granularity:void 0};C.unpack=function(i,n,r){if(!e.e(i))throw new l.t("array is required");n=e.u(n,0);var s,p=i[n++],c=new Array(p);for(s=0;s<p;++s,n+=a.t.packedLength)c[s]=a.t.unpack(i,n);p=i[n++];var d=new Array(p);for(s=0;s<p;++s,n+=o.o.packedLength)d[s]=o.o.unpack(i,n);var u=t.t.unpack(i,n,G);n+=t.t.packedLength;var h=i[n++],y=i[n];return e.e(r)?(r._positions=c,r._shape=d,r._ellipsoid=t.t.clone(u,r._ellipsoid),r._cornerType=h,r._granularity=y,r):(I.polylinePositions=c,I.shapePositions=d,I.cornerType=h,I.granularity=y,new C(I))};var R=new n.f;return C.createGeometry=function(e){var t=e._positions,o=i.D(t,a.t.equalsEpsilon),l=e._shape;if(l=p.J.removeDuplicatesFromShape(l),!(o.length<2||l.length<3)){y.A.computeWindingOrder2D(l)===g.W.CLOCKWISE&&l.reverse();var h=n.f.fromPoints(l,R);return function(e,t){var i=new d.a;i.position=new c.o({componentDatatype:s.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e});var n,o,a=t.length,p=i.position.values.length/3,l=e.length/3/a,h=u.IndexDatatype.createTypedArray(p,2*a*(l+1)),y=0,g=(n=0)*a;for(o=0;o<a-1;o++)h[y++]=o+g,h[y++]=o+g+1;for(h[y++]=a-1+g,h[y++]=g,g=(n=l-1)*a,o=0;o<a-1;o++)h[y++]=o+g,h[y++]=o+g+1;for(h[y++]=a-1+g,h[y++]=g,n=0;n<l-1;n++){var v=a*n,_=v+a;for(o=0;o<a;o++)h[y++]=o+v,h[y++]=o+_}return new c.I({attributes:i,indices:u.IndexDatatype.createTypedArray(p,h),boundingSphere:r.i.fromVertices(e),primitiveType:f._0x29ba75.LINES})}(p.J.computePositions(o,l,h,e,!1),l)}},function(i,n){return e.e(n)&&(i=C.unpack(i,n)),i._ellipsoid=t.t.clone(i._ellipsoid),C.createGeometry(i)}}));