zhaoxing
2022-10-31 6e012a8f524eeddf3aaa34d2b7b981d267df4eb5
1
define(["./arrayRemoveDuplicates-47b233f1","./Transforms-a7d32f6c","./Cartesian2-40b13f31","./Check-3917d765","./ComponentDatatype-6c2e43c1","./CoplanarPolygonGeometryLibrary-c86d51c7","./when-7b580518","./GeometryAttribute-8f00b923","./GeometryAttributes-fbd9a3fb","./GeometryInstance-e5765c46","./GeometryPipeline-06778f23","./IndexDatatype-b42089ce","./PolygonGeometryLibrary-3364a920","./Math-87254c13","./combine-83aa7971","./RuntimeError-fad4d3c6","./WebGLConstants-4e26b85a","./OrientedBoundingBox-714102d2","./EllipsoidTangentPlane-b7b148bd","./AxisAlignedBoundingBox-14881a9b","./IntersectionTests-2dece3b4","./Plane-69fa3eea","./AttributeCompression-56959beb","./EncodedCartesian3-942c4568","./ArcType-1da7fdca","./EllipsoidRhumbLine-6baec512","./PolygonPipeline-4cefc824"],function(a,y,c,e,l,p,o,s,u,d,m,b,g,t,n,r,i,f,h,P,G,v,L,C,T,E,k){"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 H={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(H):n)._polygonHierarchy=r,n.packedLength=t,n},A.createGeometry=function(e){var t=e._polygonHierarchy,e=t.positions,e=a.arrayRemoveDuplicates(e,c.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 c=new u.GeometryAttributes({position:new s.GeometryAttribute({componentDatatype:l.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:n})});return new s.Geometry({attributes:c,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=c.Ellipsoid.clone(e._ellipsoid),A.createGeometry(e)}});