define(["./GeometryOffsetAttribute-9dbaeacc","./arrayRemoveDuplicates-328bac4c","./Transforms-a6362ad2","./Matrix2-ae0e0b05","./RuntimeError-ffc802eb","./ComponentDatatype-64cf6611","./PolylineVolumeGeometryLibrary-1ff78bc3","./CorridorGeometryLibrary-961c5a13","./when-e3a49219","./GeometryAttribute-50aef525","./GeometryAttributes-3db3f2c9","./IndexDatatype-e12e2493","./PolygonPipeline-2bbe6eb1","./VertexFormat-9bafa8ef","./combine-c7a1ec8a","./PixelFormat-83d70a69","./WebGLConstants-1c8239cc","./EllipsoidTangentPlane-e3af9e65","./AxisAlignedBoundingBox-699685f5","./IntersectionTests-8be403d7","./Plane-2bf1bb80","./PolylinePipeline-e16881a5","./EllipsoidGeodesic-524df442","./EllipsoidRhumbLine-b6518e5c"],(function(t,e,r,a,i,o,n,s,l,d,u,m,f,y,c,p,g,h,b,C,v,A,_,w){"use strict";var T=new a.Cartesian3,G=new a.Cartesian3,E=new a.Cartesian3,V=new a.Cartesian3,x=new a.Cartesian3,F=new a.Cartesian3,L=new a.Cartesian3,P=new a.Cartesian3;function N(t,e){for(var r=0;r<t.length;r++)t[r]=e.scaleToGeodeticSurface(t[r],t[r]);return t}function D(t,e,r,i,o,n){var l=t.normals,d=t.tangents,u=t.bitangents,m=a.Cartesian3.normalize(a.Cartesian3.cross(r,e,L),L);n.normal&&s.CorridorGeometryLibrary.addAttribute(l,e,i,o),n.tangent&&s.CorridorGeometryLibrary.addAttribute(d,m,i,o),n.bitangent&&s.CorridorGeometryLibrary.addAttribute(u,r,i,o)}function M(t,e,r){var i,n,f,y=t.positions,c=t.corners,p=t.endPositions,g=t.lefts,h=t.normals,b=new u.GeometryAttributes,C=0,v=0,A=0;for(n=0;n<y.length;n+=2)C+=f=y[n].length-3,A+=2*f,v+=y[n+1].length-3;for(C+=3,v+=3,n=0;n<c.length;n++){i=c[n];var _=c[n].leftPositions;l.defined(_)?(C+=f=_.length,A+=f):(v+=f=c[n].rightPositions.length,A+=f)}var w,x=l.defined(p);x&&(C+=w=p[0].length-3,v+=w,A+=6*(w/=3));var N,M,O,I,S,R,k=C+v,H=new Float64Array(k),z={normals:e.normal?new Float32Array(k):void 0,tangents:e.tangent?new Float32Array(k):void 0,bitangents:e.bitangent?new Float32Array(k):void 0},B=0,U=k-1,Y=T,W=G,q=w/2,J=m.IndexDatatype.createTypedArray(k/3,A),j=0;if(x){R=E,S=V;var K=p[0];for(Y=a.Cartesian3.fromArray(h,0,Y),W=a.Cartesian3.fromArray(g,0,W),n=0;n<q;n++)R=a.Cartesian3.fromArray(K,3*(q-1-n),R),S=a.Cartesian3.fromArray(K,3*(q+n),S),s.CorridorGeometryLibrary.addAttribute(H,S,B),s.CorridorGeometryLibrary.addAttribute(H,R,void 0,U),D(z,Y,W,B,U,e),I=(M=B/3)+1,O=(N=(U-2)/3)-1,J[j++]=N,J[j++]=M,J[j++]=O,J[j++]=O,J[j++]=M,J[j++]=I,B+=3,U-=3}var Q,X,Z=0,$=0,tt=y[Z++],et=y[Z++];for(H.set(tt,B),H.set(et,U-et.length+1),W=a.Cartesian3.fromArray(g,$,W),f=et.length-3,n=0;n<f;n+=3)Q=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(tt,n,L),L),X=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(et,f-n,P),P),D(z,Y=a.Cartesian3.normalize(a.Cartesian3.add(Q,X,Y),Y),W,B,U,e),I=(M=B/3)+1,O=(N=(U-2)/3)-1,J[j++]=N,J[j++]=M,J[j++]=O,J[j++]=O,J[j++]=M,J[j++]=I,B+=3,U-=3;for(Q=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(tt,f,L),L),X=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(et,f,P),P),Y=a.Cartesian3.normalize(a.Cartesian3.add(Q,X,Y),Y),$+=3,n=0;n<c.length;n++){var rt,at,it,ot=(i=c[n]).leftPositions,nt=i.rightPositions,st=F,lt=E,dt=V;if(Y=a.Cartesian3.fromArray(h,$,Y),l.defined(ot)){for(D(z,Y,W,void 0,U,e),U-=3,at=I,it=O,rt=0;rt<ot.length/3;rt++)st=a.Cartesian3.fromArray(ot,3*rt,st),J[j++]=at,J[j++]=it-rt-1,J[j++]=it-rt,s.CorridorGeometryLibrary.addAttribute(H,st,void 0,U),lt=a.Cartesian3.fromArray(H,3*(it-rt-1),lt),dt=a.Cartesian3.fromArray(H,3*at,dt),D(z,Y,W=a.Cartesian3.normalize(a.Cartesian3.subtract(lt,dt,W),W),void 0,U,e),U-=3;st=a.Cartesian3.fromArray(H,3*at,st),lt=a.Cartesian3.subtract(a.Cartesian3.fromArray(H,3*it,lt),st,lt),dt=a.Cartesian3.subtract(a.Cartesian3.fromArray(H,3*(it-rt),dt),st,dt),D(z,Y,W=a.Cartesian3.normalize(a.Cartesian3.add(lt,dt,W),W),B,void 0,e),B+=3}else{for(D(z,Y,W,B,void 0,e),B+=3,at=O,it=I,rt=0;rt<nt.length/3;rt++)st=a.Cartesian3.fromArray(nt,3*rt,st),J[j++]=at,J[j++]=it+rt,J[j++]=it+rt+1,s.CorridorGeometryLibrary.addAttribute(H,st,B),lt=a.Cartesian3.fromArray(H,3*at,lt),dt=a.Cartesian3.fromArray(H,3*(it+rt),dt),D(z,Y,W=a.Cartesian3.normalize(a.Cartesian3.subtract(lt,dt,W),W),B,void 0,e),B+=3;st=a.Cartesian3.fromArray(H,3*at,st),lt=a.Cartesian3.subtract(a.Cartesian3.fromArray(H,3*(it+rt),lt),st,lt),dt=a.Cartesian3.subtract(a.Cartesian3.fromArray(H,3*it,dt),st,dt),D(z,Y,W=a.Cartesian3.normalize(a.Cartesian3.negate(a.Cartesian3.add(dt,lt,W),W),W),void 0,U,e),U-=3}for(tt=y[Z++],et=y[Z++],tt.splice(0,3),et.splice(et.length-3,3),H.set(tt,B),H.set(et,U-et.length+1),f=et.length-3,$+=3,W=a.Cartesian3.fromArray(g,$,W),rt=0;rt<et.length;rt+=3)Q=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(tt,rt,L),L),X=r.geodeticSurfaceNormal(a.Cartesian3.fromArray(et,f-rt,P),P),D(z,Y=a.Cartesian3.normalize(a.Cartesian3.add(Q,X,Y),Y),W,B,U,e),M=(I=B/3)-1,N=(O=(U-2)/3)+1,J[j++]=N,J[j++]=M,J[j++]=O,J[j++]=O,J[j++]=M,J[j++]=I,B+=3,U-=3;B-=3,U+=3}if(D(z,Y=a.Cartesian3.fromArray(h,h.length-3,Y),W,B,U,e),x){B+=3,U-=3,R=E,S=V;var ut=p[1];for(n=0;n<q;n++)R=a.Cartesian3.fromArray(ut,3*(w-n-1),R),S=a.Cartesian3.fromArray(ut,3*n,S),s.CorridorGeometryLibrary.addAttribute(H,R,void 0,U),s.CorridorGeometryLibrary.addAttribute(H,S,B),D(z,Y,W,B,U,e),M=(I=B/3)-1,N=(O=(U-2)/3)+1,J[j++]=N,J[j++]=M,J[j++]=O,J[j++]=O,J[j++]=M,J[j++]=I,B+=3,U-=3}if(b.position=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:H}),e.st){var mt,ft,yt=new Float32Array(k/3*2),ct=0;if(x){C/=3,v/=3;var pt,gt=Math.PI/(w+1);ft=1/(C-w+1),mt=1/(v-w+1);var ht=w/2;for(n=ht+1;n<w+1;n++)pt=o.CesiumMath.PI_OVER_TWO+gt*n,yt[ct++]=mt*(1+Math.cos(pt)),yt[ct++]=.5*(1+Math.sin(pt));for(n=1;n<v-w+1;n++)yt[ct++]=n*mt,yt[ct++]=0;for(n=w;n>ht;n--)pt=o.CesiumMath.PI_OVER_TWO-n*gt,yt[ct++]=1-mt*(1+Math.cos(pt)),yt[ct++]=.5*(1+Math.sin(pt));for(n=ht;n>0;n--)pt=o.CesiumMath.PI_OVER_TWO-gt*n,yt[ct++]=1-ft*(1+Math.cos(pt)),yt[ct++]=.5*(1+Math.sin(pt));for(n=C-w;n>0;n--)yt[ct++]=n*ft,yt[ct++]=1;for(n=1;n<ht+1;n++)pt=o.CesiumMath.PI_OVER_TWO+gt*n,yt[ct++]=ft*(1+Math.cos(pt)),yt[ct++]=.5*(1+Math.sin(pt))}else{for(ft=1/((C/=3)-1),mt=1/((v/=3)-1),n=0;n<v;n++)yt[ct++]=n*mt,yt[ct++]=0;for(n=C;n>0;n--)yt[ct++]=(n-1)*ft,yt[ct++]=1}b.st=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:yt})}return e.normal&&(b.normal=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:z.normals})),e.tangent&&(b.tangent=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:z.tangents})),e.bitangent&&(b.bitangent=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:z.bitangents})),{attributes:b,indices:J}}function O(t,e,r){r[e++]=t[0],r[e++]=t[1],r[e++]=t[2];for(var a=3;a<t.length;a+=3){var i=t[a],o=t[a+1],n=t[a+2];r[e++]=i,r[e++]=o,r[e++]=n,r[e++]=i,r[e++]=o,r[e++]=n}return r[e++]=t[0],r[e++]=t[1],r[e++]=t[2],r}function I(e,r){var i=new y.VertexFormat({position:r.position,normal:r.normal||r.bitangent||e.shadowVolume,tangent:r.tangent,bitangent:r.normal||r.bitangent,st:r.st}),n=e.ellipsoid,u=M(s.CorridorGeometryLibrary.computePositions(e),i,n),c=e.height,p=e.extrudedHeight,g=u.attributes,h=u.indices,b=g.position.values,C=b.length,v=new Float64Array(6*C),A=new Float64Array(C);A.set(b);var _,w=new Float64Array(4*C);w=O(b=f.PolygonPipeline.scaleToGeodeticHeight(b,c,n),0,w),w=O(A=f.PolygonPipeline.scaleToGeodeticHeight(A,p,n),2*C,w),v.set(b),v.set(A,C),v.set(w,2*C),g.position.values=v,g=function(t,e){if(!(e.normal||e.tangent||e.bitangent||e.st))return t;var r,i,o=t.position.values;(e.normal||e.bitangent)&&(r=t.normal.values,i=t.bitangent.values);var n,l=t.position.values.length/18,d=3*l,u=2*l,m=2*d;if(e.normal||e.bitangent||e.tangent){var f=e.normal?new Float32Array(6*d):void 0,y=e.tangent?new Float32Array(6*d):void 0,c=e.bitangent?new Float32Array(6*d):void 0,p=T,g=G,h=E,b=V,C=x,v=F,A=m;for(n=0;n<d;n+=3){var _=A+m;p=a.Cartesian3.fromArray(o,n,p),g=a.Cartesian3.fromArray(o,n+d,g),h=a.Cartesian3.fromArray(o,(n+3)%d,h),g=a.Cartesian3.subtract(g,p,g),h=a.Cartesian3.subtract(h,p,h),b=a.Cartesian3.normalize(a.Cartesian3.cross(g,h,b),b),e.normal&&(s.CorridorGeometryLibrary.addAttribute(f,b,_),s.CorridorGeometryLibrary.addAttribute(f,b,_+3),s.CorridorGeometryLibrary.addAttribute(f,b,A),s.CorridorGeometryLibrary.addAttribute(f,b,A+3)),(e.tangent||e.bitangent)&&(v=a.Cartesian3.fromArray(r,n,v),e.bitangent&&(s.CorridorGeometryLibrary.addAttribute(c,v,_),s.CorridorGeometryLibrary.addAttribute(c,v,_+3),s.CorridorGeometryLibrary.addAttribute(c,v,A),s.CorridorGeometryLibrary.addAttribute(c,v,A+3)),e.tangent&&(C=a.Cartesian3.normalize(a.Cartesian3.cross(v,b,C),C),s.CorridorGeometryLibrary.addAttribute(y,C,_),s.CorridorGeometryLibrary.addAttribute(y,C,_+3),s.CorridorGeometryLibrary.addAttribute(y,C,A),s.CorridorGeometryLibrary.addAttribute(y,C,A+3))),A+=6}if(e.normal){for(f.set(r),n=0;n<d;n+=3)f[n+d]=-r[n],f[n+d+1]=-r[n+1],f[n+d+2]=-r[n+2];t.normal.values=f}else t.normal=void 0;if(e.bitangent?(c.set(i),c.set(i,d),t.bitangent.values=c):t.bitangent=void 0,e.tangent){var w=t.tangent.values;y.set(w),y.set(w,d),t.tangent.values=y}}if(e.st){var L=t.st.values,P=new Float32Array(6*u);P.set(L),P.set(L,u);for(var N=2*u,D=0;D<2;D++){for(P[N++]=L[0],P[N++]=L[1],n=2;n<u;n+=2){var M=L[n],O=L[n+1];P[N++]=M,P[N++]=O,P[N++]=M,P[N++]=O}P[N++]=L[0],P[N++]=L[1]}t.st.values=P}return t}(g,r);var L=C/3;if(e.shadowVolume){var P=g.normal.values;C=P.length;var N=new Float32Array(6*C);for(_=0;_<C;_++)P[_]=-P[_];N.set(P,C),N=O(P,4*C,N),g.extrudeDirection=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:N}),r.normal||(g.normal=void 0)}if(l.defined(e.offsetAttribute)){var D=new Uint8Array(6*L);if(e.offsetAttribute===t.GeometryOffsetAttribute.TOP)D=t.arrayFill(D,1,0,L),D=t.arrayFill(D,1,2*L,4*L);else{var I=e.offsetAttribute===t.GeometryOffsetAttribute.NONE?0:1;D=t.arrayFill(D,I)}g.applyOffset=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:D})}var S=h.length,R=L+L,k=m.IndexDatatype.createTypedArray(v.length/3,2*S+3*R);k.set(h);var H,z,B,U,Y=S;for(_=0;_<S;_+=3){var W=h[_],q=h[_+1],J=h[_+2];k[Y++]=J+L,k[Y++]=q+L,k[Y++]=W+L}for(_=0;_<R;_+=2)B=(H=_+R)+1,U=(z=H+R)+1,k[Y++]=H,k[Y++]=z,k[Y++]=B,k[Y++]=B,k[Y++]=z,k[Y++]=U;return{attributes:g,indices:k}}var S=new a.Cartesian3,R=new a.Cartesian3,k=new a.Cartographic;function H(t,e,r,i,o,n){var s=a.Cartesian3.subtract(e,t,S);a.Cartesian3.normalize(s,s);var l=r.geodeticSurfaceNormal(t,R),d=a.Cartesian3.cross(s,l,S);a.Cartesian3.multiplyByScalar(d,i,d);var u=o.latitude,m=o.longitude,f=n.latitude,y=n.longitude;a.Cartesian3.add(t,d,R),r.cartesianToCartographic(R,k);var c=k.latitude,p=k.longitude;u=Math.min(u,c),m=Math.min(m,p),f=Math.max(f,c),y=Math.max(y,p),a.Cartesian3.subtract(t,d,R),r.cartesianToCartographic(R,k),c=k.latitude,p=k.longitude,u=Math.min(u,c),m=Math.min(m,p),f=Math.max(f,c),y=Math.max(y,p),o.latitude=u,o.longitude=m,n.latitude=f,n.longitude=y}var z=new a.Cartesian3,B=new a.Cartesian3,U=new a.Cartographic,Y=new a.Cartographic;function W(t,r,i,o,s){t=N(t,r);var d=e.arrayRemoveDuplicates(t,a.Cartesian3.equalsEpsilon),u=d.length;if(u<2||i<=0)return new a.Rectangle;var m,f,y=.5*i;if(U.latitude=Number.POSITIVE_INFINITY,U.longitude=Number.POSITIVE_INFINITY,Y.latitude=Number.NEGATIVE_INFINITY,Y.longitude=Number.NEGATIVE_INFINITY,o===n.CornerType.ROUNDED){var c=d[0];a.Cartesian3.subtract(c,d[1],z),a.Cartesian3.normalize(z,z),a.Cartesian3.multiplyByScalar(z,y,z),a.Cartesian3.add(c,z,B),r.cartesianToCartographic(B,k),m=k.latitude,f=k.longitude,U.latitude=Math.min(U.latitude,m),U.longitude=Math.min(U.longitude,f),Y.latitude=Math.max(Y.latitude,m),Y.longitude=Math.max(Y.longitude,f)}for(var p=0;p<u-1;++p)H(d[p],d[p+1],r,y,U,Y);var g=d[u-1];a.Cartesian3.subtract(g,d[u-2],z),a.Cartesian3.normalize(z,z),a.Cartesian3.multiplyByScalar(z,y,z),a.Cartesian3.add(g,z,B),H(g,B,r,y,U,Y),o===n.CornerType.ROUNDED&&(r.cartesianToCartographic(B,k),m=k.latitude,f=k.longitude,U.latitude=Math.min(U.latitude,m),U.longitude=Math.min(U.longitude,f),Y.latitude=Math.max(Y.latitude,m),Y.longitude=Math.max(Y.longitude,f));var h=l.defined(s)?s:new a.Rectangle;return h.north=Y.latitude,h.south=U.latitude,h.east=Y.longitude,h.west=U.longitude,h}function q(t){var e=(t=l.defaultValue(t,l.defaultValue.EMPTY_OBJECT)).positions,r=t.width,i=l.defaultValue(t.height,0),s=l.defaultValue(t.extrudedHeight,i);this._positions=e,this._ellipsoid=a.Ellipsoid.clone(l.defaultValue(t.ellipsoid,a.Ellipsoid.WGS84)),this._vertexFormat=y.VertexFormat.clone(l.defaultValue(t.vertexFormat,y.VertexFormat.DEFAULT)),this._width=r,this._height=Math.max(i,s),this._extrudedHeight=Math.min(i,s),this._cornerType=l.defaultValue(t.cornerType,n.CornerType.ROUNDED),this._granularity=l.defaultValue(t.granularity,o.CesiumMath.RADIANS_PER_DEGREE),this._shadowVolume=l.defaultValue(t.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=t.offsetAttribute,this._rectangle=void 0,this.packedLength=1+e.length*a.Cartesian3.packedLength+a.Ellipsoid.packedLength+y.VertexFormat.packedLength+7}q.pack=function(t,e,r){r=l.defaultValue(r,0);var i=t._positions,o=i.length;e[r++]=o;for(var n=0;n<o;++n,r+=a.Cartesian3.packedLength)a.Cartesian3.pack(i[n],e,r);return a.Ellipsoid.pack(t._ellipsoid,e,r),r+=a.Ellipsoid.packedLength,y.VertexFormat.pack(t._vertexFormat,e,r),r+=y.VertexFormat.packedLength,e[r++]=t._width,e[r++]=t._height,e[r++]=t._extrudedHeight,e[r++]=t._cornerType,e[r++]=t._granularity,e[r++]=t._shadowVolume?1:0,e[r]=l.defaultValue(t._offsetAttribute,-1),e};var J=a.Ellipsoid.clone(a.Ellipsoid.UNIT_SPHERE),j=new y.VertexFormat,K={positions:void 0,ellipsoid:J,vertexFormat:j,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};return q.unpack=function(t,e,r){e=l.defaultValue(e,0);for(var i=t[e++],o=new Array(i),n=0;n<i;++n,e+=a.Cartesian3.packedLength)o[n]=a.Cartesian3.unpack(t,e);var s=a.Ellipsoid.unpack(t,e,J);e+=a.Ellipsoid.packedLength;var d=y.VertexFormat.unpack(t,e,j);e+=y.VertexFormat.packedLength;var u=t[e++],m=t[e++],f=t[e++],c=t[e++],p=t[e++],g=1===t[e++],h=t[e];return l.defined(r)?(r._positions=o,r._ellipsoid=a.Ellipsoid.clone(s,r._ellipsoid),r._vertexFormat=y.VertexFormat.clone(d,r._vertexFormat),r._width=u,r._height=m,r._extrudedHeight=f,r._cornerType=c,r._granularity=p,r._shadowVolume=g,r._offsetAttribute=-1===h?void 0:h,r):(K.positions=o,K.width=u,K.height=m,K.extrudedHeight=f,K.cornerType=c,K.granularity=p,K.shadowVolume=g,K.offsetAttribute=-1===h?void 0:h,new q(K))},q.computeRectangle=function(t,e){var r=(t=l.defaultValue(t,l.defaultValue.EMPTY_OBJECT)).positions,i=t.width;return W(r,l.defaultValue(t.ellipsoid,a.Ellipsoid.WGS84),i,l.defaultValue(t.cornerType,n.CornerType.ROUNDED),e)},q.createGeometry=function(i){var n=i._positions,u=i._width,m=i._ellipsoid;n=N(n,m);var y=e.arrayRemoveDuplicates(n,a.Cartesian3.equalsEpsilon);if(!(y.length<2||u<=0)){var c,p=i._height,g=i._extrudedHeight,h=!o.CesiumMath.equalsEpsilon(p,g,0,o.CesiumMath.EPSILON2),b=i._vertexFormat,C={ellipsoid:m,positions:y,width:u,cornerType:i._cornerType,granularity:i._granularity,saveAttributes:!0};if(h)C.height=p,C.extrudedHeight=g,C.shadowVolume=i._shadowVolume,C.offsetAttribute=i._offsetAttribute,c=I(C,b);else if((c=M(s.CorridorGeometryLibrary.computePositions(C),b,m)).attributes.position.values=f.PolygonPipeline.scaleToGeodeticHeight(c.attributes.position.values,p,m),l.defined(i._offsetAttribute)){var v=i._offsetAttribute===t.GeometryOffsetAttribute.NONE?0:1,A=c.attributes.position.values.length,_=new Uint8Array(A/3);t.arrayFill(_,v),c.attributes.applyOffset=new d.GeometryAttribute({componentDatatype:o.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:_})}var w=c.attributes,T=r.BoundingSphere.fromVertices(w.position.values,void 0,3);return b.position||(c.attributes.position.values=void 0),new d.Geometry({attributes:w,indices:c.indices,primitiveType:d.PrimitiveType.TRIANGLES,boundingSphere:T,offsetAttribute:i._offsetAttribute})}},q.createShadowVolume=function(t,e,r){var a=t._granularity,i=t._ellipsoid,o=e(a,i),n=r(a,i);return new q({positions:t._positions,width:t._width,cornerType:t._cornerType,ellipsoid:i,granularity:a,extrudedHeight:o,height:n,vertexFormat:y.VertexFormat.POSITION_ONLY,shadowVolume:!0})},Object.defineProperties(q.prototype,{rectangle:{get:function(){return l.defined(this._rectangle)||(this._rectangle=W(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}}),function(t,e){return l.defined(e)&&(t=q.unpack(t,e)),t._ellipsoid=a.Ellipsoid.clone(t._ellipsoid),q.createGeometry(t)}}));
|