define(["./Transforms-3ac41eb6","./Matrix2-fc7e9822","./RuntimeError-c581ca93","./ComponentDatatype-4a60b8d6","./CylinderGeometryLibrary-7b029c87","./defaultValue-94c3e563","./GeometryAttribute-a441ff32","./GeometryAttributes-7df9bef6","./GeometryOffsetAttribute-ec11b721","./IndexDatatype-db156785","./_commonjsHelpers-3aae1032-f55dc0c4","./combine-761d9c3f","./WebGLConstants-7dccdc96"],(function(t,e,i,o,n,r,s,a,u,f,c,d,b){"use strict";const l=new e.Cartesian2;function m(t){t=r.defaultValue(t,r.defaultValue.EMPTY_OBJECT);const e=t.length,o=t.topRadius,n=t.bottomRadius,s=r.defaultValue(t.slices,128),a=Math.max(r.defaultValue(t.numberOfVerticalLines,16),0);if(i.Check.typeOf.number("options.positions",e),i.Check.typeOf.number("options.topRadius",o),i.Check.typeOf.number("options.bottomRadius",n),i.Check.typeOf.number.greaterThanOrEquals("options.slices",s,3),r.defined(t.offsetAttribute)&&t.offsetAttribute===u.GeometryOffsetAttribute.TOP)throw new i.DeveloperError("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=e,this._topRadius=o,this._bottomRadius=n,this._slices=s,this._numberOfVerticalLines=a,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}m.packedLength=6,m.pack=function(t,e,o){return i.Check.typeOf.object("value",t),i.Check.defined("array",e),o=r.defaultValue(o,0),e[o++]=t._length,e[o++]=t._topRadius,e[o++]=t._bottomRadius,e[o++]=t._slices,e[o++]=t._numberOfVerticalLines,e[o]=r.defaultValue(t._offsetAttribute,-1),e};const p={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};function y(t,e){return r.defined(e)&&(t=m.unpack(t,e)),m.createGeometry(t)}return m.unpack=function(t,e,o){i.Check.defined("array",t),e=r.defaultValue(e,0);const n=t[e++],s=t[e++],a=t[e++],u=t[e++],f=t[e++],c=t[e];return r.defined(o)?(o._length=n,o._topRadius=s,o._bottomRadius=a,o._slices=u,o._numberOfVerticalLines=f,o._offsetAttribute=-1===c?void 0:c,o):(p.length=n,p.topRadius=s,p.bottomRadius=a,p.slices=u,p.numberOfVerticalLines=f,p.offsetAttribute=-1===c?void 0:c,new m(p))},m.createGeometry=function(i){let c=i._length;const d=i._topRadius,b=i._bottomRadius,m=i._slices,p=i._numberOfVerticalLines;if(c<=0||d<0||b<0||0===d&&0===b)return;const y=2*m,h=n.CylinderGeometryLibrary.computePositions(c,d,b,m,!1);let _,A=2*m;if(p>0){const t=Math.min(p,m);_=Math.round(m/t),A+=t}const O=f.IndexDatatype.createTypedArray(y,2*A);let C,R=0;for(C=0;C0)for(C=0;C