define(["./arrayRemoveDuplicates-18786327","./Transforms-d5c6ad6e","./Matrix2-ccd5b911","./RuntimeError-346a3079","./ComponentDatatype-93750d1a","./CoplanarPolygonGeometryLibrary-54c559e2","./when-4bbc8319","./GeometryAttribute-c30799b8","./GeometryAttributes-7827a6c2","./GeometryInstance-5f4fe82b","./GeometryPipeline-548e76d2","./IndexDatatype-b7d979a6","./PolygonGeometryLibrary-d35c292d","./combine-83860057","./WebGLConstants-1c8239cc","./OrientedBoundingBox-0a826a8b","./EllipsoidTangentPlane-e000bae1","./AxisAlignedBoundingBox-883f9c89","./IntersectionTests-4d6f5c54","./Plane-18bb00f8","./AttributeCompression-1f045b73","./EncodedCartesian3-08b8d980","./ArcType-98ec98bf","./EllipsoidRhumbLine-aa9e6266","./PolygonPipeline-83fb62b0"],function(a,y,l,e,c,p,o,s,u,d,m,b,g,t,n,r,i,f,h,P,G,v,L,T,E){"use strict";function A(e){e=(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).polygonHierarchy;this._polygonHierarchy=e,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=g.PolygonGeometryLibrary.computeHierarchyPackedLength(e)+1}A.fromPositions=function(e){return new A({polygonHierarchy:{positions:(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).positions}})},A.pack=function(e,t,n){return n=o.defaultValue(n,0),t[n=g.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,n)]=e.packedLength,t};var C={polygonHierarchy:{}};return A.unpack=function(e,t,n){t=o.defaultValue(t,0);var r=g.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=r.startingIndex,delete r.startingIndex;t=e[t];return(n=!o.defined(n)?new A(C):n)._polygonHierarchy=r,n.packedLength=t,n},A.createGeometry=function(e){var t=e._polygonHierarchy,e=t.positions,e=a.arrayRemoveDuplicates(e,l.Cartesian3.equalsEpsilon,!0);if(!(e.length<3)&&p.CoplanarPolygonGeometryLibrary.validOutline(e)){var n=g.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(t,!1);if(0!==n.length){for(var r=[],o=0;o<n.length;o++){var i=new d.GeometryInstance({geometry:function(e){for(var t=e.length,n=new Float64Array(3*t),r=b.IndexDatatype.createTypedArray(t,2*t),o=0,i=0,a=0;a<t;a++){var y=e[a];n[o++]=y.x,n[o++]=y.y,n[o++]=y.z,r[i++]=a,r[i++]=(a+1)%t}var l=new u.GeometryAttributes({position:new s.GeometryAttribute({componentDatatype:c.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n})});return new s.Geometry({attributes:l,indices:r,primitiveType:s.PrimitiveType.LINES})}(n[o])});r.push(i)}e=m.GeometryPipeline.combineInstances(r)[0],t=y.BoundingSphere.fromPoints(t.positions);return new s.Geometry({attributes:e.attributes,indices:e.indices,primitiveType:e.primitiveType,boundingSphere:t})}}},function(e,t){return(e=o.defined(t)?A.unpack(e,t):e)._ellipsoid=l.Ellipsoid.clone(e._ellipsoid),A.createGeometry(e)}});
