1
Surpriseplus
2022-09-16 8d1a91c23df335b090e38b2edd15203aa3b03da9
1
define(["exports","./when-cbf8cd21","./Math-e66fad2a","./Cartesian2-4fe032cf","./arrayRemoveDuplicates-b817241d","./PolylinePipeline-eb4304f6"],function(e,P,A,C,w,b){"use strict";var i={};var M=new C.Cartographic,E=new C.Cartographic;function F(e,i,t,r){var a=(i=w.arrayRemoveDuplicates(i,C.Cartesian3.equalsEpsilon)).length;if(!(a<2)){var n=P.defined(r),o=P.defined(t),l=new Array(a),s=new Array(a),h=new Array(a),g=i[0];l[0]=g;var p=e.cartesianToCartographic(g,M);o&&(p.height=t[0]),s[0]=p.height,h[0]=n?r[0]:0;for(var u,c,d=s[0]===h[0],f=1,v=1;v<a;++v){var y=i[v],m=e.cartesianToCartographic(y,E);o&&(m.height=t[v]),d=d&&0===m.height,u=p,c=m,A.CesiumMath.equalsEpsilon(u.latitude,c.latitude,A.CesiumMath.EPSILON10)&&A.CesiumMath.equalsEpsilon(u.longitude,c.longitude,A.CesiumMath.EPSILON10)?p.height<m.height&&(s[f-1]=m.height):(l[f]=y,s[f]=m.height,h[f]=n?r[v]:0,d=d&&s[f]===h[f],C.Cartographic.clone(m,p),++f)}if(!(d||f<2))return l.length=f,s.length=f,h.length=f,{positions:l,topHeights:s,bottomHeights:h}}}var H=new Array(2),L=new Array(2),q={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};i.computePositions=function(e,i,t,r,a,n){var o=F(e,i,t,r);if(P.defined(o)){i=o.positions,t=o.topHeights,r=o.bottomHeights;var l,s,h=i.length,g=h-2,p=A.CesiumMath.chordLength(a,e.maximumRadius),u=q;if(u.minDistance=p,u.ellipsoid=e,n){for(var c=0,d=0;d<h-1;d++)c+=b.PolylinePipeline.numberOfPoints(i[d],i[d+1],p)+1;l=new Float64Array(3*c),s=new Float64Array(3*c);var f=H,v=L;u.positions=f,u.height=v;var y=0;for(d=0;d<h-1;d++){f[0]=i[d],f[1]=i[d+1],v[0]=t[d],v[1]=t[d+1];var m=b.PolylinePipeline.generateArc(u);l.set(m,y),v[0]=r[d],v[1]=r[d+1],s.set(b.PolylinePipeline.generateArc(u),y),y+=m.length}}else u.positions=i,u.height=t,l=new Float64Array(b.PolylinePipeline.generateArc(u)),u.height=r,s=new Float64Array(b.PolylinePipeline.generateArc(u));return{bottomPositions:s,topPositions:l,numCorners:g}}},e.WallGeometryLibrary=i});