define(["exports","./defined-b9ff0e39","./Math-92bd3539","./Cartesian2-8fa798b8","./EllipsoidTangentPlane-9b89fc6c","./PolygonPipeline-7e1a6f3b","./PolylinePipeline-cb1c5b79"],function(e,C,A,b,w,E,O){"use strict";var i={};var M=new b.Cartographic,L=new b.Cartographic;var F=new Array(2),H=new Array(2),T={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};i.computePositions=function(e,i,t,n,r,o){var a=function(e,i,t,n){var r=i.length;if(!(r<2)){var o=C.defined(n),a=C.defined(t),l=!0,s=new Array(r),h=new Array(r),g=new Array(r),p=i[0];s[0]=p;var d=e.cartesianToCartographic(p,M);a&&(d.height=t[0]),l=l&&d.height<=0,h[0]=d.height,g[0]=o?n[0]:0;for(var P,c,u=1,f=1;f<r;++f){var v=i[f],y=e.cartesianToCartographic(v,L);a&&(y.height=t[f]),l=l&&y.height<=0,P=d,c=y,A.CesiumMath.equalsEpsilon(P.latitude,c.latitude,A.CesiumMath.EPSILON14)&&A.CesiumMath.equalsEpsilon(P.longitude,c.longitude,A.CesiumMath.EPSILON14)?d.height<y.height&&(h[u-1]=y.height):(s[u]=v,h[u]=y.height,g[u]=o?n[f]:0,b.Cartographic.clone(y,d),++u)}if(!(l||u<2))return s.length=u,h.length=u,g.length=u,{positions:s,topHeights:h,bottomHeights:g}}}(e,i,t,n);if(C.defined(a)){if(i=a.positions,t=a.topHeights,n=a.bottomHeights,3<=i.length){var l=w.EllipsoidTangentPlane.fromPoints(i,e).projectPointsOntoPlane(i);E.PolygonPipeline.computeWindingOrder2D(l)===E.WindingOrder.CLOCKWISE&&(i.reverse(),t.reverse(),n.reverse())}var s,h,g=i.length,p=g-2,d=A.CesiumMath.chordLength(r,e.maximumRadius),P=T;if(P.minDistance=d,P.ellipsoid=e,o){var c,u=0;for(c=0;c<g-1;c++)u+=O.PolylinePipeline.numberOfPoints(i[c],i[c+1],d)+1;s=new Float64Array(3*u),h=new Float64Array(3*u);var f=F,v=H;P.positions=f,P.height=v;var y=0;for(c=0;c<g-1;c++){f[0]=i[c],f[1]=i[c+1],v[0]=t[c],v[1]=t[c+1];var m=O.PolylinePipeline.generateArc(P);s.set(m,y),v[0]=n[c],v[1]=n[c+1],h.set(O.PolylinePipeline.generateArc(P),y),y+=m.length}}else P.positions=i,P.height=t,s=new Float64Array(O.PolylinePipeline.generateArc(P)),P.height=n,h=new Float64Array(O.PolylinePipeline.generateArc(P));return{bottomPositions:h,topPositions:s,numCorners:p}}},e.WallGeometryLibrary=i});
|