bimland/dist/Cesium/Workers/createWallGeometry.js

2 lines
6.8 KiB
JavaScript
Raw Normal View History

2023-07-26 17:04:38 +08:00
define(["./when-b60132fc","./Cartesian2-47311507","./buildModuleUrl-4e1b81e7","./Cartographic-3309dd0d","./ComponentDatatype-c140a87d","./Check-7b2a090c","./GeometryAttribute-3a88ba31","./GeometryAttributes-252e9929","./IndexDatatype-8a5eead4","./Math-119be1a3","./PrimitiveType-a54dc62f","./VertexFormat-6446fca0","./WallGeometryLibrary-81096bc7","./Event-16a2dfbf","./RuntimeError-4a5c8994","./WebGLConstants-4ae0db90","./FeatureDetection-c3b71206","./Cartesian4-3ca25aab","./arrayRemoveDuplicates-d2f048c5","./PolylinePipeline-2fe9092e","./EllipsoidGeodesic-0f19ac62","./EllipsoidRhumbLine-ed1a6bf4","./IntersectionTests-7386ffbf","./Plane-7ae8294c"],(function(e,t,a,i,n,r,o,s,m,l,u,p,d,c,f,y,C,g,v,h,b,x,A,_){"use strict";var E=new i.Cartesian3,F=new i.Cartesian3,w=new i.Cartesian3,k=new i.Cartesian3,L=new i.Cartesian3,P=new i.Cartesian3,D=new i.Cartesian3,G=new i.Cartesian3;function T(a){var n=(a=e.defaultValue(a,e.defaultValue.EMPTY_OBJECT)).positions,r=a.maximumHeights,o=a.minimumHeights,s=e.defaultValue(a.vertexFormat,p.VertexFormat.DEFAULT),m=e.defaultValue(a.granularity,l.CesiumMath.RADIANS_PER_DEGREE),u=e.defaultValue(a.ellipsoid,t.Ellipsoid.WGS84);this._positions=n,this._minimumHeights=o,this._maximumHeights=r,this._vertexFormat=p.VertexFormat.clone(s),this._granularity=m,this._ellipsoid=t.Ellipsoid.clone(u),this._enuCenter=a.enuCenter,this._workerName="createWallGeometry";var d=1+n.length*i.Cartesian3.packedLength+2;e.defined(o)&&(d+=o.length),e.defined(r)&&(d+=r.length),this.packedLength=d+t.Ellipsoid.packedLength+p.VertexFormat.packedLength+1,this.packedLength+=i.Cartesian3.packedLength}T.pack=function(a,n,r){var o;r=e.defaultValue(r,0);var s=a._positions,m=s.length;for(n[r++]=m,o=0;o<m;++o,r+=i.Cartesian3.packedLength)i.Cartesian3.pack(s[o],n,r);var l=a._minimumHeights;if(m=e.defined(l)?l.length:0,n[r++]=m,e.defined(l))for(o=0;o<m;++o)n[r++]=l[o];var u=a._maximumHeights;if(m=e.defined(u)?u.length:0,n[r++]=m,e.defined(u))for(o=0;o<m;++o)n[r++]=u[o];return t.Ellipsoid.pack(a._ellipsoid,n,r),r+=t.Ellipsoid.packedLength,p.VertexFormat.pack(a._vertexFormat,n,r),r+=p.VertexFormat.packedLength,n[r++]=a._granularity,e.defined(a._enuCenter)?i.Cartesian3.pack(a._enuCenter,n,r):i.Cartesian3.pack(i.Cartesian3.ZERO,n,r),n};var H=t.Ellipsoid.clone(t.Ellipsoid.UNIT_SPHERE),V=new p.VertexFormat,O={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:H,vertexFormat:V,granularity:void 0,enuCenter:void 0};return T.unpack=function(a,n,r){var o;n=e.defaultValue(n,0);var s,m,l=a[n++],u=new Array(l);for(o=0;o<l;++o,n+=i.Cartesian3.packedLength)u[o]=i.Cartesian3.unpack(a,n);if((l=a[n++])>0)for(s=new Array(l),o=0;o<l;++o)s[o]=a[n++];if((l=a[n++])>0)for(m=new Array(l),o=0;o<l;++o)m[o]=a[n++];var d=t.Ellipsoid.unpack(a,n,H);n+=t.Ellipsoid.packedLength;var c=p.VertexFormat.unpack(a,n,V);n+=p.VertexFormat.packedLength;var f=a[n++],y=i.Cartesian3.unpack(a,n);return i.Cartesian3.equals(y,i.Cartesian3.ZERO)&&(y=void 0),e.defined(r)?(r._positions=u,r._minimumHeights=s,r._maximumHeights=m,r._ellipsoid=t.Ellipsoid.clone(d,r._ellipsoid),r._vertexFormat=p.VertexFormat.clone(c,r._vertexFormat),r._granularity=f,r._enuCenter=y,r):(O.positions=u,O.minimumHeights=s,O.maximumHeights=m,O.granularity=f,O.enuCenter=y,new T(O))},T.fromConstantHeights=function(t){var a,i,n=(t=e.defaultValue(t,e.defaultValue.EMPTY_OBJECT)).positions,r=t.minimumHeight,o=t.maximumHeight,s=e.defined(r),m=e.defined(o);if(s||m){var l=n.length;a=s?new Array(l):void 0,i=m?new Array(l):void 0;for(var u=0;u<l;++u)s&&(a[u]=r),m&&(i[u]=o)}return new T({positions:n,maximumHeights:i,minimumHeights:a,ellipsoid:t.ellipsoid,vertexFormat:t.vertexFormat})},T.createGeometry=function(t){var r=t._positions,p=t._minimumHeights,c=t._maximumHeights,f=t._vertexFormat,y=t._granularity,C=t._ellipsoid,g=t._enuCenter,v=d.WallGeometryLibrary.computePositions(C,r,c,p,y,!0,g);if(e.defined(v.pos)){var h;e.defined(g)&&(h=o.Transforms.eastNorthUpToFixedFrame(g));var b,x=v.pos.bottomPositions,A=v.pos.topPositions,_=v.pos.numCorners,T=A.length,H=2*T,V=f.position?new Float64Array(H):void 0,O=f.norm