1
lxl
2022-09-16 2d9ddf8269640309f22053d3c92a38fd77e84358
1
define(["./arrayRemoveDuplicates-6dfd408b","./Transforms-b51fdb37","./Rectangle-82621db8","./Check-24483042","./ComponentDatatype-1a100acd","./CoplanarPolygonGeometryLibrary-92e889f6","./when-54335d57","./GeometryAttribute-02fdce7a","./GeometryAttributes-caa08d6c","./GeometryInstance-4247a2b3","./GeometryPipeline-6bfd5efb","./IndexDatatype-edb2f4d6","./PolygonGeometryLibrary-340be930","./Math-7a8129d6","./RuntimeError-88a32665","./PixelFormat-d198afce","./WebGLConstants-95ceb4e9","./OrientedBoundingBox-108c8b47","./EllipsoidTangentPlane-3e9e5847","./IntersectionTests-afc06c64","./Plane-fd9e13db","./AttributeCompression-3961575e","./EncodedCartesian3-c7ed7a62","./ArcType-2b58731c","./EllipsoidRhumbLine-2550c0e1","./PolygonPipeline-be37706f"],function(c,p,s,e,u,d,a,m,f,g,b,h,P,t,r,n,o,i,y,l,G,v,L,T,C,E){"use strict";function k(e){for(var t=e.length,r=new Float64Array(3*t),n=h.IndexDatatype.createTypedArray(t,2*t),o=0,a=0,i=0;i<t;i++){var y=e[i];r[o++]=y.x,r[o++]=y.y,r[o++]=y.z,n[a++]=i,n[a++]=(i+1)%t}var l=new f.GeometryAttributes({position:new m.GeometryAttribute({componentDatatype:u.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:r})});return new m.Geometry({attributes:l,indices:n,primitiveType:m.PrimitiveType.LINES})}function H(e){var t=(e=a.defaultValue(e,a.defaultValue.EMPTY_OBJECT)).polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=P.PolygonGeometryLibrary.computeHierarchyPackedLength(t)+1}H.fromPositions=function(e){return new H({polygonHierarchy:{positions:(e=a.defaultValue(e,a.defaultValue.EMPTY_OBJECT)).positions}})},H.pack=function(e,t,r){return r=a.defaultValue(r,0),t[r=P.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,r)]=e.packedLength,t};var w={polygonHierarchy:{}};return H.unpack=function(e,t,r){t=a.defaultValue(t,0);var n=P.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=n.startingIndex,delete n.startingIndex;var o=e[t];return a.defined(r)||(r=new H(w)),r._polygonHierarchy=n,r.packedLength=o,r},H.createGeometry=function(e){var t=e._polygonHierarchy,r=t.positions;if(!((r=c.arrayRemoveDuplicates(r,s.Cartesian3.equalsEpsilon,!0)).length<3)&&d.CoplanarPolygonGeometryLibrary.validOutline(r)){var n=P.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(t,!1);if(0!==n.length){for(var o=[],a=0;a<n.length;a++){var i=new g.GeometryInstance({geometry:k(n[a])});o.push(i)}var y=b.GeometryPipeline.combineInstances(o)[0],l=p.BoundingSphere.fromPoints(t.positions);return new m.Geometry({attributes:y.attributes,indices:y.indices,primitiveType:y.primitiveType,boundingSphere:l})}}},function(e,t){return a.defined(t)&&(e=H.unpack(e,t)),e._ellipsoid=s.Ellipsoid.clone(e._ellipsoid),H.createGeometry(e)}});