2 lines
8.1 KiB
JavaScript
2 lines
8.1 KiB
JavaScript
|
|
define(["exports","./ArcType-2b58731c","./arrayRemoveDuplicates-db90b85c","./Cartesian2-697a9954","./ComponentDatatype-417761a2","./when-54335d57","./EllipsoidRhumbLine-e5c51fa7","./GeometryAttribute-7ca1c9e4","./GeometryAttributes-caa08d6c","./GeometryPipeline-1dd54e44","./IndexDatatype-c134ea39","./Math-737a2579","./Transforms-251ff661","./PolygonPipeline-1048742e"],function(e,I,T,x,E,A,f,P,_,p,G,L,d,M){"use strict";function D(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(D.prototype,{length:{get:function(){return this._length}}}),D.prototype.enqueue=function(e){this._array.push(e),this._length++},D.prototype.dequeue=function(){if(0!==this._length){var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,10<++t&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,r}},D.prototype.peek=function(){if(0!==this._length)return this._array[this._offset]},D.prototype.contains=function(e){return-1!==this._array.indexOf(e)},D.prototype.clear=function(){this._array.length=this._offset=this._length=0},D.prototype.sort=function(e){0<this._offset&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var S={computeHierarchyPackedLength:function(e){for(var t=0,r=[e];0<r.length;){var i=r.pop();if(A.defined(i)){t+=2;var n=i.positions,a=i.holes;if(A.defined(n)&&(t+=n.length*x.Cartesian3.packedLength),A.defined(a))for(var o=a.length,s=0;s<o;++s)r.push(a[s])}}return t},packPolygonHierarchy:function(e,t,r){for(var i=[e];0<i.length;){var n=i.pop();if(A.defined(n)){var a=n.positions,o=n.holes;if(t[r++]=A.defined(a)?a.length:0,t[r++]=A.defined(o)?o.length:0,A.defined(a))for(var s=a.length,u=0;u<s;++u,r+=3)x.Cartesian3.pack(a[u],t,r);if(A.defined(o))for(var l=o.length,h=0;h<l;++h)i.push(o[h])}}return r},unpackPolygonHierarchy:function(e,t){for(var r=e[t++],i=e[t++],n=new Array(r),a=0<i?new Array(i):void 0,o=0;o<r;++o,t+=x.Cartesian3.packedLength)n[o]=x.Cartesian3.unpack(e,t);for(var s=0;s<i;++s)a[s]=S.unpackPolygonHierarchy(e,t),t=a[s].startingIndex,delete a[s].startingIndex;return{positions:n,holes:a,startingIndex:t}}},y=new x.Cartesian3;S.subdivideLineCount=function(e,t,r){t=x.Cartesian3.distance(e,t),r=Math.max(0,Math.ceil(L.CesiumMath.log2(t/r)));return Math.pow(2,r)};var g=new x.Cartographic,m=new x.Cartographic,v=new x.Cartographic,C=new x.Cartesian3;S.subdivideRhumbLineCount=function(e,t,r,i){t=e.cartesianToCartographic(t,g),r=e.cartesianToCartographic(r,m),i=new f.EllipsoidRhumbLine(t,r,e).surfaceDistance/i,i=Math.max(0,Math.ceil(L.CesiumMath.log2(i)));return Math.pow(2,i)},S.subdivideLine=function(e,t,r,i){var n=S.subdivideLineCount(e,t,r),a=x.Cartesian3.distance(e,t),o=a/n,s=i=!A.defined(i)?[]:i;s.length=3*n;for(var u,l,h=0,c=0;c<n;c++){var f=(f=e,u=c*o,l=a,x.Cartesian3.subtract(t,f,y),x.Cartesian3.multiplyByScalar(y,u/l,y),x.Cartesian3.add(f,y,y),[y.x,y.y,y.z]);s[h++]=f[0],s[h++]=f[1],s[h++]=f[2]}return s},S.subdivideRhumbLine=function(e,t,r,i,n){var t=e.cartesianToCartographic(t,g),r=e.cartesianToCartographic(r,m),a=new f.EllipsoidRhumbLine(t,r,e),i=a.surfaceDistance/i,i=Math.max(0,Math.ceil(L.CesiumMath.log2(i))),o=Math.pow(2,i),s=a.surfaceDistance/o,u=n=!A.defined(n)?[]:n;u.length=3*o;for(var l=0,h=0;h<o;h++){var c=a.interpolateUsingSurfaceDistance(h*s,v),c=e.cartographicToCartesian(c,C);u[l++]=c.x,u[l++]=c.y,u[l++]=c.z}return u};var b=new x.Cartesian3,w=new x.Cartesian3,R=new x.Cartesian3,N=new x.Cartesian3;S.scaleToGeodeticHeightExtruded=function(e,t,r,i,n){i=A.defaultValue(i,x.Ellipsoid.WGS84);var a=b,o=w,s=R,u=N;if(A.defined(e)&&A.defined(e.attributes)&&A.defined(e.attributes.position))for(var l=e.attributes.position.values,h=l.length/2,c=0;c<h;c+=3)x.Cartesian3.fromArray(l,c,s),i.geodeticSurfaceNormal(s,a),u=i.scaleToGeodeticSurface(s,u),o=x.Cartesian3.multiplyByScalar(a,r,o),o=x.Cartesian3.add(u,o,o),l[c+h]=o.x,l[c+1+h]=o.y,l[c+2+h]=o.z,n&&(u=x.Cartesian3.clone(s,u)),o=x.Cartesian3.multiplyByScalar(a,t,o),o=x.Cartesian3.add(u,o,o),l[c]=o.x,l[c+1]=o.y,l[c+2]=o.z;return e},S.polygonOutlinesFromHierarchy=function(e,t,r){var i,n,a=[],o=new D;for(o.enqu
|