jihongshun
17 小时以前 307db148645230afc780a3d5d16ffb97aa32c189
1
define(["exports","./when-54c2dc71","./Math-fc8cecf5","./Cartesian2-bddc1162","./arrayRemoveDuplicates-ebc732b0","./PolylinePipeline-fba5024c"],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,!0)).length;if(!(a<2)){var n=P.defined(r),o=P.defined(t),h=!0,l=new Array(a),s=new Array(a),g=new Array(a),c=i[0];l[0]=c;var p=e.cartesianToCartographic(c,M);o&&(p.height=t[0]),h=h&&p.height<=0,s[0]=p.height,g[0]=n?r[0]:0;for(var u,d,v=1,y=1;y<a;++y){var f=i[y],m=e.cartesianToCartographic(f,E);o&&(m.height=t[y]),h=h&&m.height<=0,u=p,d=m,A.CesiumMath.equalsEpsilon(u.latitude,d.latitude,A.CesiumMath.EPSILON10)&&A.CesiumMath.equalsEpsilon(u.longitude,d.longitude,A.CesiumMath.EPSILON10)?p.height<m.height&&(s[v-1]=m.height):(l[v]=f,s[v]=m.height,g[v]=n?r[y]:0,C.Cartographic.clone(m,p),++v)}if(!(h||v<2))return l.length=v,s.length=v,g.length=v,{positions:l,topHeights:s,bottomHeights:g}}}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 h,l,s=i.length,g=s-2,c=A.CesiumMath.chordLength(a,e.maximumRadius),p=q;if(p.minDistance=c,p.ellipsoid=e,n){for(var u=0,d=0;d<s-1;d++)u+=b.PolylinePipeline.numberOfPoints(i[d],i[d+1],c)+1;h=new Float64Array(3*u),l=new Float64Array(3*u);var v=H,y=L;p.positions=v,p.height=y;var f=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 m=b.PolylinePipeline.generateArc(p);h.set(m,f),y[0]=r[d],y[1]=r[d+1],l.set(b.PolylinePipeline.generateArc(p),f),f+=m.length}}else p.positions=i,p.height=t,h=new Float64Array(b.PolylinePipeline.generateArc(p)),p.height=r,l=new Float64Array(b.PolylinePipeline.generateArc(p));return{bottomPositions:l,topPositions:h,numCorners:g}}},e.WallGeometryLibrary=i});