define(["exports","./arrayFill-deb10550","./buildModuleUrl-d920237a","./Cartographic-1d953166","./ComponentDatatype-07894a2b","./when-d186add7","./Check-2514d21d","./Rectangle-f841217d","./GeometryAttribute-95780fd1","./GeometryAttributes-9c67dd14","./GeometryOffsetAttribute-da5a1d35","./IndexDatatype-61ffec74","./Math-7f5f2992","./FeatureDetection-4281d393"],(function(t,i,e,o,n,r,a,s,m,u,f,d,c,l){"use strict";var _=new o.t(1,1,1),h=Math.cos,p=Math.sin;function v(t){t=r.u(t,r.u.EMPTY_OBJECT);var i=r.u(t.radii,_),e=r.u(t.innerRadii,i),n=r.u(t.minimumClock,0),s=r.u(t.maximumClock,c.e.TWO_PI),m=r.u(t.minimumCone,0),u=r.u(t.maximumCone,c.e.PI),d=Math.round(r.u(t.stackPartitions,10)),l=Math.round(r.u(t.slicePartitions,8)),h=Math.round(r.u(t.subdivisions,128));if(d<1)throw new a.t("options.stackPartitions cannot be less than 1");if(l<0)throw new a.t("options.slicePartitions cannot be less than 0");if(h<0)throw new a.t("options.subdivisions must be greater than or equal to zero.");if(r.e(t.offsetAttribute)&&t.offsetAttribute===f.z.TOP)throw new a.t("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._radii=o.t.clone(i),this._innerRadii=o.t.clone(e),this._minimumClock=n,this._maximumClock=s,this._minimumCone=m,this._maximumCone=u,this._stackPartitions=d,this._slicePartitions=l,this._subdivisions=h,this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}v.packedLength=2*o.t.packedLength+8,v.pack=function(t,i,e){if(!r.e(t))throw new a.t("value is required");if(!r.e(i))throw new a.t("array is required");return e=r.u(e,0),o.t.pack(t._radii,i,e),e+=o.t.packedLength,o.t.pack(t._innerRadii,i,e),e+=o.t.packedLength,i[e++]=t._minimumClock,i[e++]=t._maximumClock,i[e++]=t._minimumCone,i[e++]=t._maximumCone,i[e++]=t._stackPartitions,i[e++]=t._slicePartitions,i[e++]=t._subdivisions,i[e]=r.u(t._offsetAttribute,-1),i};var b=new o.t,k=new o.t,y={radii:b,innerRadii:k,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};v.unpack=function(t,i,e){if(!r.e(t))throw new a.t("array is required");i=r.u(i,0);var n=o.t.unpack(t,i,b);i+=o.t.packedLength;var s=o.t.unpack(t,i,k);i+=o.t.packedLength;var m=t[i++],u=t[i++],f=t[i++],d=t[i++],c=t[i++],l=t[i++],_=t[i++],h=t[i];return r.e(e)?(e._radii=o.t.clone(n,e._radii),e._innerRadii=o.t.clone(s,e._innerRadii),e._minimumClock=m,e._maximumClock=u,e._minimumCone=f,e._maximumCone=d,e._stackPartitions=c,e._slicePartitions=l,e._subdivisions=_,e._offsetAttribute=-1===h?void 0:h,e):(y.minimumClock=m,y.maximumClock=u,y.minimumCone=f,y.maximumCone=d,y.stackPartitions=c,y.slicePartitions=l,y.subdivisions=_,y.offsetAttribute=-1===h?void 0:h,new v(y))},v.createGeometry=function(t){var o=t._radii;if(!(o.x<=0||o.y<=0||o.z<=0)){var a=t._innerRadii;if(!(a.x<=0||a.y<=0||a.z<=0)){var _=t._minimumClock,v=t._maximumClock,b=t._minimumCone,k=t._maximumCone,y=t._subdivisions,C=s.t.fromCartesian3(o),w=t._slicePartitions+1,x=t._stackPartitions+1;(w=Math.round(w*Math.abs(v-_)/c.e.TWO_PI))<2&&(w=2),(x=Math.round(x*Math.abs(k-b)/c.e.PI))<2&&(x=2);var A=0,P=1,g=a.x!==o.x||a.y!==o.y||a.z!==o.z,M=!1,z=!1;g&&(P=2,b>0&&(M=!0,A+=w),k