define(["./defaultValue-81eec7ed","./Matrix2-e3fb4559","./arrayRemoveDuplicates-85770175","./BoundingRectangle-b88064b7","./Transforms-98ffa11d","./Cartesian3-7e9cc2ff","./ComponentDatatype-aaeec80f","./PolylineVolumeGeometryLibrary-22aaee12","./Check-741c5f3c","./GeometryAttribute-b025f9a8","./GeometryAttributes-32b29525","./GeometryPipeline-4b426993","./IndexDatatype-f1e3f799","./Math-5f585871","./Matrix4-d34187af","./PolygonPipeline-6f83d8b1","./VertexFormat-d50a69ba","./_commonjsHelpers-3aae1032-26891ab7","./combine-3c023bda","./RuntimeError-26acdd3b","./WebGLConstants-508b9636","./EllipsoidTangentPlane-fa1337e1","./AxisAlignedBoundingBox-37250ed6","./IntersectionTests-73b87d72","./Plane-4f75b3df","./PolylinePipeline-de59c85a","./EllipsoidGeodesic-6de45192","./EllipsoidRhumbLine-9c6b32ea","./AttributeCompression-e2e3f0dd","./EncodedCartesian3-aac44514"],(function(e,t,n,o,i,r,a,l,s,d,c,p,m,u,g,y,h,f,x,b,P,_,E,L,T,F,G,k,v,C){"use strict";const w={};function V(t,n){e.defined(w[t])||(w[t]=!0)}function A(t,n,o,l,s,u,h){const f=new c.GeometryAttributes;l.position&&(f.position=new d.GeometryAttribute({componentDatatype:a.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:t}));const x=n.length,b=t.length/3;let P=(b-2*x)/(2*x);const _=y.PolygonPipeline.triangulate(n),E=(P-1)*x*6+2*_.length,L=m.IndexDatatype.createTypedArray(b,E);let T,F,G,k,v,C;const w=2*x;let A=0;for(T=0;To&&(g.Matrix4.unpack(n,o++,f),o+=15),y=n.length>o?n[o++]:0,e.defined(i)?(i._positions=s,i._shape=d,i._ellipsoid=t.Ellipsoid.clone(c,i._ellipsoid),i._vertexFormat=h.VertexFormat.clone(p,i._vertexFormat),i._cornerType=m,i._granularity=u,i._rootTransform=f,i._isFromGLP=y,i):(B.polylinePositions=s,B.shapePositions=d,B.cornerType=m,B.granularity=u,B.rootTransform=f,B.isFromGLP=y,new M(B))};const I=new o.BoundingRectangle;return M.createGeometry=function(e){const t=e._positions,i=n.arrayRemoveDuplicates(t,r.Cartesian3.equalsEpsilon);let a=e._shape;if(a=l.PolylineVolumeGeometryLibrary.removeDuplicatesFromShape(a),i.length<2||a.length<3)return;y.PolygonPipeline.computeWindingOrder2D(a)===y.WindingOrder.CLOCKWISE&&a.reverse();const s=o.BoundingRectangle.fromPoints(a,I);return A(l.PolylineVolumeGeometryLibrary.computePositions(i,a,s,e,!0),a,s,e._vertexFormat,e._rootTransform,0,e._isFromGLP)},function(n,o){return e.defined(o)&&(n=M.unpack(n,o)),n._ellipsoid=t.Ellipsoid.clone(n._ellipsoid),M.createGeometry(n)}}));