Newer
Older
ganzhou-feidu / static / lib / freedo / Freedo / Workers / createCoplanarPolygonOutlineGeometry.js
bairujie on 14 Apr 2023 2 KB init
define(["./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Cartesian2-44433f55","./Matrix3-146a3f23","./Transforms-fc4c03e8","./RuntimeError-f4c64df1","./WebGLConstants-95ceb4e9","./ComponentDatatype-7ee14e67","./GeometryAttribute-dee5e12d","./GeometryAttributes-90846c5f","./AttributeCompression-170b3be0","./GeometryPipeline-36144dac","./EncodedCartesian3-86f19ac2","./IndexDatatype-66caba23","./IntersectionTests-caa0ba1a","./Plane-e04c899a","./GeometryInstance-398c27d3","./arrayRemoveDuplicates-b817241d","./EllipsoidTangentPlane-d27aa001","./OrientedBoundingBox-6e047f5d","./CoplanarPolygonGeometryLibrary-3781c48e","./ArcType-2b58731c","./EllipsoidRhumbLine-862a2df4","./PolygonPipeline-b54c9b74","./PolygonGeometryLibrary-6b267a69"],function(o,e,t,l,r,p,n,a,s,u,d,i,m,y,f,c,g,b,h,P,G,v,L,C,T,E){"use strict";function k(e){var t=(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=E.PolygonGeometryLibrary.computeHierarchyPackedLength(t)+1}k.fromPositions=function(e){return new k({polygonHierarchy:{positions:(e=o.defaultValue(e,o.defaultValue.EMPTY_OBJECT)).positions}})},k.pack=function(e,t,r){return r=o.defaultValue(r,0),t[r=E.PolygonGeometryLibrary.packPolygonHierarchy(e._polygonHierarchy,t,r)]=e.packedLength,t};var H={polygonHierarchy:{}};return k.unpack=function(e,t,r){t=o.defaultValue(t,0);var n=E.PolygonGeometryLibrary.unpackPolygonHierarchy(e,t);t=n.startingIndex,delete n.startingIndex;var a=e[t];return o.defined(r)||(r=new k(H)),r._polygonHierarchy=n,r.packedLength=a,r},k.createGeometry=function(e){var t=e._polygonHierarchy,r=t.positions;if(!((r=h.arrayRemoveDuplicates(r,l.Cartesian3.equalsEpsilon,!0)).length<3)&&v.CoplanarPolygonGeometryLibrary.validOutline(r)){var n=E.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(t,!1);if(0!==n.length){for(var a=[],o=0;o<n.length;o++){var i=new b.GeometryInstance({geometry:function(e){for(var t=e.length,r=new Float64Array(3*t),n=f.IndexDatatype.createTypedArray(t,2*t),a=0,o=0,i=0;i<t;i++){var y=e[i];r[a++]=y.x,r[a++]=y.y,r[a++]=y.z,n[o++]=i,n[o++]=(i+1)%t}var c=new d.GeometryAttributes({position:new u.GeometryAttribute({componentDatatype:s.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:r})});return new u.Geometry({attributes:c,indices:n,primitiveType:u.PrimitiveType.LINES})}(n[o])});a.push(i)}var y=m.GeometryPipeline.combineInstances(a)[0],c=p.BoundingSphere.fromPoints(t.positions);return new u.Geometry({attributes:y.attributes,indices:y.indices,primitiveType:y.primitiveType,boundingSphere:c})}}},function(e,t){return o.defined(t)&&(e=k.unpack(e,t)),e._ellipsoid=l.Ellipsoid.clone(e._ellipsoid),k.createGeometry(e)}});