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