1 |
- define(["exports","./Cartographic-67e73ef9","./Math-92c3b5f7","./PrimitiveType-cdfe443e","./GeometryAttribute-ef657318"],(function(t,e,r,a,i){"use strict";var n={},o=new e.t,l=new e.t,y=new i.n,s=new a.p;function c(t,r,n,c,u,f,x,m,h,z){var p=t+r;e.t.multiplyByScalar(c,Math.cos(p),o),e.t.multiplyByScalar(n,Math.sin(p),l),e.t.add(o,l,o);var v=Math.cos(t);v*=v;var _=Math.sin(t);_*=_;var d=f/Math.sqrt(x*v+u*_)/m;return i.n.fromAxisAngle(o,d,y),a.p.fromQuaternion(y,s),a.p.multiplyByVector(s,h,z),e.t.normalize(z,z),e.t.multiplyByScalar(z,m,z),z}var u=new e.t,f=new e.t,x=new e.t,m=new e.t;n.raisePositionsToHeight=function(t,r,a){for(var i=r.ellipsoid,n=r.height,o=r.extrudedHeight,l=a?t.length/3*2:t.length/3,y=new Float64Array(3*l),s=t.length,c=a?s:0,h=0;h<s;h+=3){var z=h+1,p=h+2,v=e.t.fromArray(t,h,u);i.scaleToGeodeticSurface(v,v);var _=e.t.clone(v,f),d=i.geodeticSurfaceNormal(v,m),O=e.t.multiplyByScalar(d,n,x);e.t.add(v,O,v),a&&(e.t.multiplyByScalar(d,o,O),e.t.add(_,O,_),y[h+c]=_.x,y[z+c]=_.y,y[p+c]=_.z),y[h]=v.x,y[z]=v.y,y[p]=v.z}return y};var h=new e.t,z=new e.t,p=new e.t;n.computeEllipsePositions=function(t,a,i){var n=t.semiMinorAxis,o=t.semiMajorAxis,l=t.rotation,y=t.center,s=8*t.granularity,m=n*n,v=o*o,_=o*n,d=e.t.magnitude(y),O=e.t.normalize(y,h),P=e.t.cross(e.t.UNIT_Z,y,z);P=e.t.normalize(P,P);var w=e.t.cross(O,P,p),M=1+Math.ceil(r.e.PI_OVER_TWO/s),T=r.e.PI_OVER_TWO/(M-1),g=r.e.PI_OVER_TWO-M*T;g<0&&(M-=Math.ceil(Math.abs(g)/T));var I,A,E,V,R,W=a?new Array(3*(M*(M+2)*2)):void 0,S=0,B=u,b=f,C=4*M*3,G=C-1,H=0,N=i?new Array(C):void 0;for(B=c(g=r.e.PI_OVER_TWO,l,w,P,m,_,v,d,O,B),a&&(W[S++]=B.x,W[S++]=B.y,W[S++]=B.z),i&&(N[G--]=B.z,N[G--]=B.y,N[G--]=B.x),g=r.e.PI_OVER_TWO-T,I=1;I<M+1;++I){if(B=c(g,l,w,P,m,_,v,d,O,B),b=c(Math.PI-g,l,w,P,m,_,v,d,O,b),a){for(W[S++]=B.x,W[S++]=B.y,W[S++]=B.z,E=2*I+2,A=1;A<E-1;++A)V=A/(E-1),R=e.t.lerp(B,b,V,x),W[S++]=R.x,W[S++]=R.y,W[S++]=R.z;W[S++]=b.x,W[S++]=b.y,W[S++]=b.z}i&&(N[G--]=B.z,N[G--]=B.y,N[G--]=B.x,N[H++]=b.x,N[H++]=b.y,N[H++]=b.z),g=r.e.PI_OVER_TWO-(I+1)*T}for(I=M;I>1;--I){if(B=c(-(g=r.e.PI_OVER_TWO-(I-1)*T),l,w,P,m,_,v,d,O,B),b=c(g+Math.PI,l,w,P,m,_,v,d,O,b),a){for(W[S++]=B.x,W[S++]=B.y,W[S++]=B.z,E=2*(I-1)+2,A=1;A<E-1;++A)V=A/(E-1),R=e.t.lerp(B,b,V,x),W[S++]=R.x,W[S++]=R.y,W[S++]=R.z;W[S++]=b.x,W[S++]=b.y,W[S++]=b.z}i&&(N[G--]=B.z,N[G--]=B.y,N[G--]=B.x,N[H++]=b.x,N[H++]=b.y,N[H++]=b.z)}B=c(-(g=r.e.PI_OVER_TWO),l,w,P,m,_,v,d,O,B);var j={};return a&&(W[S++]=B.x,W[S++]=B.y,W[S++]=B.z,j.positions=W,j.numPts=M),i&&(N[G--]=B.z,N[G--]=B.y,N[G--]=B.x,j.outerPositions=N),j},t.C=n}));
|