1 |
- define(["exports","./AttributeCompression-49f7b62a","./Cartesian2-6033fa5d","./Cartographic-67e73ef9","./Check-52a7d806","./when-92c6cf3c","./Math-92c3b5f7","./buildModuleUrl-3d15f25c","./Cartesian4-ad128b5d","./ComponentDatatype-81047f82","./EncodedCartesian3-b86c8d65","./Intersect-b97e930a","./GeometryAttribute-ef657318","./IndexDatatype-4c0e98b8","./IntersectionTests-a42760d9","./PrimitiveType-cdfe443e","./Plane-f8d22530"],(function(e,t,r,i,n,a,o,s,u,p,l,v,y,c,m,f,h){"use strict";var d=new i.t,b=new i.t,w=new i.t;function g(e,t,s,u,p){var l,v,y,c,m,f,h,g;if(n.o.defined("point",e),n.o.defined("p0",t),n.o.defined("p1",s),n.o.defined("p2",u),a.e(p)||(p=new i.t),a.e(t.z)){if(i.t.equalsEpsilon(e,t,o.e.EPSILON14))return i.t.clone(i.t.UNIT_X,p);if(i.t.equalsEpsilon(e,s,o.e.EPSILON14))return i.t.clone(i.t.UNIT_Y,p);if(i.t.equalsEpsilon(e,u,o.e.EPSILON14))return i.t.clone(i.t.UNIT_Z,p);l=i.t.subtract(s,t,d),v=i.t.subtract(u,t,b),y=i.t.subtract(e,t,w),c=i.t.dot(l,l),m=i.t.dot(l,v),f=i.t.dot(l,y),h=i.t.dot(v,v),g=i.t.dot(v,y)}else{if(r.o.equalsEpsilon(e,t,o.e.EPSILON14))return i.t.clone(i.t.UNIT_X,p);if(r.o.equalsEpsilon(e,s,o.e.EPSILON14))return i.t.clone(i.t.UNIT_Y,p);if(r.o.equalsEpsilon(e,u,o.e.EPSILON14))return i.t.clone(i.t.UNIT_Z,p);l=r.o.subtract(s,t,d),v=r.o.subtract(u,t,b),y=r.o.subtract(e,t,w),c=r.o.dot(l,l),m=r.o.dot(l,v),f=r.o.dot(l,y),h=r.o.dot(v,v),g=r.o.dot(v,y)}p.y=h*f-m*g,p.z=c*g-m*f;var x=c*h-m*m;return 0!==p.y&&(p.y/=x),0!==p.z&&(p.z/=x),p.x=1-p.y-p.z,p}var x={calculateACMR:function(e){var t=(e=a.u(e,a.u.EMPTY_OBJECT)).indices,r=e.maximumIndex,i=a.u(e.cacheSize,24);if(!a.e(t))throw new n.t("indices is required.");var o=t.length;if(o<3||o%3!=0)throw new n.t("indices length must be a multiple of three.");if(r<=0)throw new n.t("maximumIndex must be greater than zero.");if(i<3)throw new n.t("cacheSize must be greater than two.");if(!a.e(r)){r=0;for(var s=0,u=t[s];s<o;)u>r&&(r=u),u=t[++s]}for(var p=[],l=0;l<r+1;l++)p[l]=0;for(var v=i+1,y=0;y<o;++y)v-p[t[y]]>i&&(p[t[y]]=v,++v);return(v-i+1)/(o/3)}};x.tipsify=function(e){var t,r=(e=a.u(e,a.u.EMPTY_OBJECT)).indices,i=e.maximumIndex,o=a.u(e.cacheSize,24);function s(e,r,i,n,a,o,s){for(var u,p=-1,l=-1,v=0;v<i.length;){var y=i[v];n[y].numLiveTriangles&&(u=0,a-n[y].timeStamp+2*n[y].numLiveTriangles<=r&&(u=a-n[y].timeStamp),(u>l||-1===l)&&(l=u,p=y)),++v}return-1===p?function(e,r,i,n){for(;r.length>=1;){var a=r[r.length-1];if(r.splice(r.length-1,1),e[a].numLiveTriangles>0)return a}for(;t<n;){if(e[t].numLiveTriangles>0)return++t-1;++t}return-1}(n,o,0,s):p}if(!a.e(r))throw new n.t("indices is required.");var u=r.length;if(u<3||u%3!=0)throw new n.t("indices length must be a multiple of three.");if(i<=0)throw new n.t("maximumIndex must be greater than zero.");if(o<3)throw new n.t("cacheSize must be greater than two.");var p=0,l=0,v=r[l],y=u;if(a.e(i))p=i+1;else{for(;l<y;)v>p&&(p=v),v=r[++l];if(-1===p)return 0;++p}var c,m=[];for(c=0;c<p;c++)m[c]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};l=0;for(var f=0;l<y;)m[r[l]].vertexTriangles.push(f),++m[r[l]].numLiveTriangles,m[r[l+1]].vertexTriangles.push(f),++m[r[l+1]].numLiveTriangles,m[r[l+2]].vertexTriangles.push(f),++m[r[l+2]].numLiveTriangles,++f,l+=3;var h=0,d=o+1;t=1;var b,w,g,x,T=[],A=[],I=0,S=[],P=u/3,N=[];for(c=0;c<P;c++)N[c]=!1;for(;-1!==h;){T=[],x=(w=m[h]).vertexTriangles.length;for(var E=0;E<x;++E)if(!N[f=w.vertexTriangles[E]]){N[f]=!0,l=f+f+f;for(var O=0;O<3;++O)g=r[l],T.push(g),A.push(g),S[I]=g,++I,--(b=m[g]).numLiveTriangles,d-b.timeStamp>o&&(b.timeStamp=d,++d),++l}h=s(0,o,T,m,d,A,p)}return S};var T={};function A(e,t,r,i,n){e[t++]=r,e[t++]=i,e[t++]=i,e[t++]=n,e[t++]=n,e[t]=r}function I(e){var t={};for(var r in e)if(e.hasOwnProperty(r)&&a.e(e[r])&&a.e(e[r].values)){var i=e[r];t[r]=new y.o({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function S(e,t,r){for(var i in t)if(t.hasOwnProperty(i)&&a.e(t[i])&&a.e(t[i].values))for(var n=t[i],o=0;o<n.componentsPerAttribute;++o)e[i].values.push(n.values[r*n.componentsPerAttribute+o])}T.toWireframe=function(e){if(!a.e(e))throw new n.t("geometry is required.");var t=e.indices;if(a.e(t)){switch(e.primitiveType){case f._0x29ba75.TRIANGLES:e.indices=function(e){for(var t=e.length,r=t/3*6,i=c.IndexDatatype.createTypedArray(t,r),n=0,a=0;a<t;a+=3,n+=6)A(i,n,e[a],e[a+1],e[a+2]);return i}(t);break;case f._0x29ba75.TRIANGLE_STRIP:e.indices=function(e){var t=e.length;if(t>=3){var r=6*(t-2),i=c.IndexDatatype.createTypedArray(t,r);A(i,0,e[0],e[1],e[2]);for(var n=6,a=3;a<t;++a,n+=6)A(i,n,e[a-1],e[a],e[a-2]);return i}return new Uint16Array}(t);break;case f._0x29ba75.TRIANGLE_FAN:e.indices=function(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),i=c.IndexDatatype.createTypedArray(t,r),n=e[0],a=0,o=1;o<t;++o,a+=6)A(i,a,n,e[o],e[o+1]);return i}return new Uint16Array}(t);break;default:throw new n.t("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}e.primitiveType=f._0x29ba75.LINES}return e},T.createLineSegmentsForVectors=function(e,t,r){if(t=a.u(t,"normal"),!a.e(e))throw new n.t("geometry is required.");if(!a.e(e.attributes.position))throw new n.t("geometry.attributes.position is required.");if(!a.e(e.attributes[t]))throw new n.t("geometry.attributes must have an attribute with the same name as the attributeName parameter, "+t+".");r=a.u(r,1e4);for(var i=e.attributes.position.values,o=e.attributes[t].values,u=i.length,l=new Float64Array(2*u),v=0,c=0;c<u;c+=3)l[v++]=i[c],l[v++]=i[c+1],l[v++]=i[c+2],l[v++]=i[c]+o[c]*r,l[v++]=i[c+1]+o[c+1]*r,l[v++]=i[c+2]+o[c+2]*r;var m,h=e.boundingSphere;return a.e(h)&&(m=new s.i(h.center,h.radius+r)),new y.I({attributes:{position:new y.o({componentDatatype:p.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:l})},primitiveType:f._0x29ba75.LINES,boundingSphere:m})},T.createAttributeLocations=function(e){if(!a.e(e))throw new n.t("geometry is required.");var t,r=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],i=e.attributes,o={},s=0,u=r.length;for(t=0;t<u;++t){var p=r[t];a.e(i[p])&&(o[p]=s++)}for(var l in i)i.hasOwnProperty(l)&&!a.e(o[l])&&(o[l]=s++);return o},T.reorderForPreVertexCache=function(e){if(!a.e(e))throw new n.t("geometry is required.");var t=y.I.computeNumberOfVertices(e),r=e.indices;if(a.e(r)){for(var i=new Int32Array(t),o=0;o<t;o++)i[o]=-1;for(var s,u=r,l=u.length,v=c.IndexDatatype.createTypedArray(t,l),m=0,f=0,h=0;m<l;)-1!==(s=i[u[m]])?v[f]=s:(i[s=u[m]]=h,v[f]=h,++h),++m,++f;e.indices=v;var d=e.attributes;for(var b in d)if(d.hasOwnProperty(b)&&a.e(d[b])&&a.e(d[b].values)){for(var w=d[b],g=w.values,x=0,T=w.componentsPerAttribute,A=p.ComponentDatatype.createTypedArray(w.componentDatatype,h*T);x<t;){var I=i[x];if(-1!==I)for(var S=0;S<T;S++)A[T*I+S]=g[T*x+S];++x}w.values=A}}return e},T.reorderForPostVertexCache=function(e,t){if(!a.e(e))throw new n.t("geometry is required.");var r=e.indices;if(e.primitiveType===f._0x29ba75.TRIANGLES&&a.e(r)){for(var i=r.length,o=0,s=0;s<i;s++)r[s]>o&&(o=r[s]);e.indices=x.tipsify({indices:r,maximumIndex:o,cacheSize:t})}return e},T.fitToUnsignedShortIndices=function(e){if(!a.e(e))throw new n.t("geometry is required.");if(a.e(e.indices)&&e.primitiveType!==f._0x29ba75.TRIANGLES&&e.primitiveType!==f._0x29ba75.LINES&&e.primitiveType!==f._0x29ba75.POINTS)throw new n.t("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");var t=[],r=y.I.computeNumberOfVertices(e);if(a.e(e.indices)&&r>=o.e.SIXTY_FOUR_KILOBYTES){var i,s=[],u=[],p=0,l=I(e.attributes),v=e.indices,c=v.length;e.primitiveType===f._0x29ba75.TRIANGLES?i=3:e.primitiveType===f._0x29ba75.LINES?i=2:e.primitiveType===f._0x29ba75.POINTS&&(i=1);for(var m=0;m<c;m+=i){for(var h=0;h<i;++h){var d=v[m+h],b=s[d];a.e(b)||(b=p++,s[d]=b,S(l,e.attributes,d)),u.push(b)}p+i>=o.e.SIXTY_FOUR_KILOBYTES&&(t.push(new y.I({attributes:l,indices:u,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),s=[],u=[],p=0,l=I(e.attributes))}0!==u.length&&t.push(new y.I({attributes:l,indices:u,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var P=new i.t,N=new i.t$1;T.projectTo2D=function(e,t,r,o,s){if(!a.e(e))throw new n.t("geometry is required.");if(!a.e(t))throw new n.t("attributeName is required.");if(!a.e(r))throw new n.t("attributeName3D is required.");if(!a.e(o))throw new n.t("attributeName2D is required.");if(!a.e(e.attributes[t]))throw new n.t("geometry must have attribute matching the attributeName argument: "+t+".");if(e.attributes[t].componentDatatype!==p.ComponentDatatype.DOUBLE)throw new n.t("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");for(var u=e.attributes[t],l=(s=a.e(s)?s:new v.n).ellipsoid,c=u.values,m=new Float64Array(c.length),f=0,h=0;h<c.length;h+=3){var d=i.t.fromArray(c,h,P),b=l.cartesianToCartographic(d,N);if(!a.e(b))throw new n.t("Could not project point ("+d.x+", "+d.y+", "+d.z+") to 2D.");var w=s.project(b,P);m[f++]=w.x,m[f++]=w.y,m[f++]=w.z}return e.attributes[r]=u,e.attributes[o]=new y.o({componentDatatype:p.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:m}),delete e.attributes[t],e};var E={high:0,low:0};T.encodeAttribute=function(e,t,r,i){if(!a.e(e))throw new n.t("geometry is required.");if(!a.e(t))throw new n.t("attributeName is required.");if(!a.e(r))throw new n.t("attributeHighName is required.");if(!a.e(i))throw new n.t("attributeLowName is required.");if(!a.e(e.attributes[t]))throw new n.t("geometry must have attribute matching the attributeName argument: "+t+".");if(e.attributes[t].componentDatatype!==p.ComponentDatatype.DOUBLE)throw new n.t("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");for(var o=e.attributes[t],s=o.values,u=s.length,v=new Float32Array(u),c=new Float32Array(u),m=0;m<u;++m)l.i.encode(s[m],E),v[m]=E.high,c[m]=E.low;var f=o.componentsPerAttribute;return e.attributes[r]=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:f,values:v}),e.attributes[i]=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:f,values:c}),delete e.attributes[t],e};var O=new i.t;function L(e,t){if(a.e(t))for(var r=t.values,n=r.length,o=0;o<n;o+=3)i.t.unpack(r,o,O),f.y.multiplyByPoint(e,O,O),i.t.pack(O,r,o)}function D(e,t){if(a.e(t))for(var r=t.values,n=r.length,o=0;o<n;o+=3)i.t.unpack(r,o,O),f.p.multiplyByVector(e,O,O),O=i.t.normalize(O,O),i.t.pack(O,r,o)}var z=new f.y,_=new f.p;T.transformToWorldCoordinates=function(e){if(!a.e(e))throw new n.t("instance is required.");var t=e.modelMatrix;if(f.y.equals(t,f.y.IDENTITY))return e;var r=e.geometry.attributes;L(t,r.position),L(t,r.prevPosition),L(t,r.nextPosition),(a.e(r.normal)||a.e(r.tangent)||a.e(r.bitangent))&&(f.y.inverse(t,z),f.y.transpose(z,z),f.y.getRotation(z,_),D(_,r.normal),D(_,r.tangent),D(_,r.bitangent));var i=e.geometry.boundingSphere;return a.e(i)&&(e.geometry.boundingSphere=s.i.transform(i,t,i)),e.modelMatrix=f.y.clone(f.y.IDENTITY),e};var q=new i.t;function C(e,t){var r,o,u,l,v=e.length,m=e[0].modelMatrix,h=a.e(e[0][t].indices),d=e[0][t].primitiveType;for(o=1;o<v;++o){if(!f.y.equals(e[o].modelMatrix,m))throw new n.t("All instances must have the same modelMatrix.");if(a.e(e[o][t].indices)!==h)throw new n.t("All instance geometries must have an indices or not have one.");if(e[o][t].primitiveType!==d)throw new n.t("All instance geometries must have the same primitiveType.")}var b,w,g,x,T=function(e,t){var r,i=e.length,n={},o=e[0][t].attributes;for(r in o)if(o.hasOwnProperty(r)&&a.e(o[r])&&a.e(o[r].values)){for(var s=o[r],u=s.values.length,l=!0,v=1;v<i;++v){var c=e[v][t].attributes[r];if(!a.e(c)||s.componentDatatype!==c.componentDatatype||s.componentsPerAttribute!==c.componentsPerAttribute||s.normalize!==c.normalize){l=!1;break}u+=c.values.length}l&&(n[r]=new y.o({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:p.ComponentDatatype.createTypedArray(s.componentDatatype,u)}),s.isInstanceAttribute&&(n[r].isInstanceAttribute=!0))}return n}(e,t);for(r in T)if(T.hasOwnProperty(r))for(b=T[r].values,l=0,o=0;o<v;++o)for(g=(w=e[o][t].attributes[r].values).length,u=0;u<g;++u)b[l++]=w[u];if(h){var A=0;for(o=0;o<v;++o)A+=e[o][t].indices.length;var I=y.I.computeNumberOfVertices(new y.I({attributes:T,primitiveType:f._0x29ba75.POINTS})),S=c.IndexDatatype.createTypedArray(I,A),P=0,N=0;for(o=0;o<v;++o){var E=e[o][t].indices,O=E.length;for(l=0;l<O;++l)S[P++]=N+E[l];N+=y.I.computeNumberOfVertices(e[o][t])}x=S}var L,D=new i.t,z=0;for(o=0;o<v;++o){if(L=e[o][t].boundingSphere,!a.e(L)){D=void 0;break}i.t.add(L.center,D,D)}if(a.e(D))for(i.t.divideByScalar(D,v,D),o=0;o<v;++o){L=e[o][t].boundingSphere;var _=i.t.magnitude(i.t.subtract(L.center,D,q))+L.radius;_>z&&(z=_)}return new y.I({attributes:T,indices:x,primitiveType:d,boundingSphere:a.e(D)?new s.i(D,z):void 0})}T.combineInstances=function(e){if(!a.e(e)||e.length<1)throw new n.t("instances is required and must have length greater than zero.");for(var t=[],r=[],i=e.length,o=0;o<i;++o){var s=e[o];a.e(s.geometry)?t.push(s):a.e(s.westHemisphereGeometry)&&a.e(s.eastHemisphereGeometry)&&r.push(s)}var u=[];return t.length>0&&u.push(C(t,"geometry")),r.length>0&&(u.push(C(r,"westHemisphereGeometry")),u.push(C(r,"eastHemisphereGeometry"))),u};var R=new i.t,G=new i.t,F=new i.t,k=new i.t;T.computeNormal=function(e){if(!a.e(e))throw new n.t("geometry is required.");if(!a.e(e.attributes.position)||!a.e(e.attributes.position.values))throw new n.t("geometry.attributes.position.values is required.");if(!a.e(e.indices))throw new n.t("geometry.indices is required.");if(e.indices.length<2||e.indices.length%3!=0)throw new n.t("geometry.indices length must be greater than 0 and be a multiple of 3.");if(e.primitiveType!==f._0x29ba75.TRIANGLES)throw new n.t("geometry.primitiveType must be PrimitiveType.TRIANGLES.");var t,r=e.indices,s=e.attributes,u=s.position.values,l=s.position.values.length/3,v=r.length,c=new Array(l),m=new Array(v/3),h=new Array(v);for(t=0;t<l;t++)c[t]={indexOffset:0,count:0,currentCount:0};var d=0;for(t=0;t<v;t+=3){var b=r[t],w=r[t+1],g=r[t+2],x=3*b,T=3*w,A=3*g;G.x=u[x],G.y=u[x+1],G.z=u[x+2],F.x=u[T],F.y=u[T+1],F.z=u[T+2],k.x=u[A],k.y=u[A+1],k.z=u[A+2],c[b].count++,c[w].count++,c[g].count++,i.t.subtract(F,G,F),i.t.subtract(k,G,k),m[d]=i.t.cross(F,k,new i.t),d++}var I,S=0;for(t=0;t<l;t++)c[t].indexOffset+=S,S+=c[t].count;for(d=0,t=0;t<v;t+=3){var P=(I=c[r[t]]).indexOffset+I.currentCount;h[P]=d,I.currentCount++,h[P=(I=c[r[t+1]]).indexOffset+I.currentCount]=d,I.currentCount++,h[P=(I=c[r[t+2]]).indexOffset+I.currentCount]=d,I.currentCount++,d++}var N=new Float32Array(3*l);for(t=0;t<l;t++){var E=3*t;if(I=c[t],i.t.clone(i.t.ZERO,R),I.count>0){for(d=0;d<I.count;d++)i.t.add(R,m[h[I.indexOffset+d]],R);i.t.equalsEpsilon(i.t.ZERO,R,o.e.EPSILON10)&&i.t.clone(m[h[I.indexOffset]],R)}i.t.equalsEpsilon(i.t.ZERO,R,o.e.EPSILON10)&&(R.z=1),i.t.normalize(R,R),N[E]=R.x,N[E+1]=R.y,N[E+2]=R.z}return e.attributes.normal=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:N}),e};var B=new i.t,M=new i.t,U=new i.t;T.computeTangentAndBitangent=function(e){if(!a.e(e))throw new n.t("geometry is required.");var t=e.attributes,r=e.indices;if(!a.e(t.position)||!a.e(t.position.values))throw new n.t("geometry.attributes.position.values is required.");if(!a.e(t.normal)||!a.e(t.normal.values))throw new n.t("geometry.attributes.normal.values is required.");if(!a.e(t.st)||!a.e(t.st.values))throw new n.t("geometry.attributes.st.values is required.");if(!a.e(r))throw new n.t("geometry.indices is required.");if(r.length<2||r.length%3!=0)throw new n.t("geometry.indices length must be greater than 0 and be a multiple of 3.");if(e.primitiveType!==f._0x29ba75.TRIANGLES)throw new n.t("geometry.primitiveType must be PrimitiveType.TRIANGLES.");var o,s,u,l,v=e.attributes.position.values,c=e.attributes.normal.values,m=e.attributes.st.values,h=e.attributes.position.values.length/3,d=r.length,b=new Array(3*h);for(o=0;o<b.length;o++)b[o]=0;for(o=0;o<d;o+=3){var w=r[o],g=r[o+1],x=r[o+2];u=3*g,l=3*x;var T=2*w,A=2*g,I=2*x,S=v[s=3*w],P=v[s+1],N=v[s+2],E=m[T],O=m[T+1],L=m[A+1]-O,D=m[I+1]-O,z=1/((m[A]-E)*D-(m[I]-E)*L),_=(D*(v[u]-S)-L*(v[l]-S))*z,q=(D*(v[u+1]-P)-L*(v[l+1]-P))*z,C=(D*(v[u+2]-N)-L*(v[l+2]-N))*z;b[s]+=_,b[s+1]+=q,b[s+2]+=C,b[u]+=_,b[u+1]+=q,b[u+2]+=C,b[l]+=_,b[l+1]+=q,b[l+2]+=C}var R=new Float32Array(3*h),G=new Float32Array(3*h);for(o=0;o<h;o++){u=(s=3*o)+1,l=s+2;var F=i.t.fromArray(c,s,B),k=i.t.fromArray(b,s,U),V=i.t.dot(F,k);i.t.multiplyByScalar(F,V,M),i.t.normalize(i.t.subtract(k,M,k),k),R[s]=k.x,R[u]=k.y,R[l]=k.z,i.t.normalize(i.t.cross(F,k,k),k),G[s]=k.x,G[u]=k.y,G[l]=k.z}return e.attributes.tangent=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:R}),e.attributes.bitangent=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:G}),e};var V=new r.o,Y=new i.t,Z=new i.t,H=new i.t,W=new r.o;function X(e){switch(e.primitiveType){case f._0x29ba75.TRIANGLE_FAN:return function(e){var t=y.I.computeNumberOfVertices(e);if(t<3)throw new n.t("The number of vertices must be at least three.");var r=c.IndexDatatype.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var i=3,a=3;a<t;++a)r[i++]=a-1,r[i++]=0,r[i++]=a;return e.indices=r,e.primitiveType=f._0x29ba75.TRIANGLES,e}(e);case f._0x29ba75.TRIANGLE_STRIP:return function(e){var t=y.I.computeNumberOfVertices(e);if(t<3)throw new n.t("The number of vertices must be at least 3.");var r=c.IndexDatatype.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var i=6,a=3;a<t-1;a+=2)r[i++]=a,r[i++]=a-1,r[i++]=a+1,a+2<t&&(r[i++]=a,r[i++]=a+1,r[i++]=a+2);return e.indices=r,e.primitiveType=f._0x29ba75.TRIANGLES,e}(e);case f._0x29ba75.TRIANGLES:return function(e){if(a.e(e.indices))return e;var t=y.I.computeNumberOfVertices(e);if(t<3)throw new n.t("The number of vertices must be at least three.");if(t%3!=0)throw new n.t("The number of vertices must be a multiple of three.");for(var r=c.IndexDatatype.createTypedArray(t,t),i=0;i<t;++i)r[i]=i;return e.indices=r,e}(e);case f._0x29ba75.LINE_STRIP:return function(e){var t=y.I.computeNumberOfVertices(e);if(t<2)throw new n.t("The number of vertices must be at least two.");var r=c.IndexDatatype.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var i=2,a=2;a<t;++a)r[i++]=a-1,r[i++]=a;return e.indices=r,e.primitiveType=f._0x29ba75.LINES,e}(e);case f._0x29ba75.LINE_LOOP:return function(e){var t=y.I.computeNumberOfVertices(e);if(t<2)throw new n.t("The number of vertices must be at least two.");var r=c.IndexDatatype.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var i=2,a=2;a<t;++a)r[i++]=a-1,r[i++]=a;return r[i++]=t-1,r[i]=0,e.indices=r,e.primitiveType=f._0x29ba75.LINES,e}(e);case f._0x29ba75.LINES:return function(e){if(a.e(e.indices))return e;var t=y.I.computeNumberOfVertices(e);if(t<2)throw new n.t("The number of vertices must be at least two.");if(t%2!=0)throw new n.t("The number of vertices must be a multiple of 2.");for(var r=c.IndexDatatype.createTypedArray(t,t),i=0;i<t;++i)r[i]=i;return e.indices=r,e}(e)}return e}function j(e,t){Math.abs(e.y)<o.e.EPSILON6&&(e.y=t?-o.e.EPSILON6:o.e.EPSILON6)}T.compressVertices=function(e){if(!a.e(e))throw new n.t("geometry is required.");var o,s,u=e.attributes.extrudeDirection;if(a.e(u)){var l=u.values;s=l.length/3;var v=new Float32Array(2*s),c=0;for(o=0;o<s;++o)i.t.fromArray(l,3*o,Y),i.t.equals(Y,i.t.ZERO)?c+=2:(W=t.t.octEncodeInRange(Y,65535,W),v[c++]=W.x,v[c++]=W.y);return e.attributes.compressedAttributes=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:v}),delete e.attributes.extrudeDirection,e}var m=e.attributes.normal,f=e.attributes.st,h=a.e(m),d=a.e(f);if(!h&&!d)return e;var b,w,g,x,T=e.attributes.tangent,A=e.attributes.bitangent,I=a.e(T),S=a.e(A);h&&(b=m.values),d&&(w=f.values),I&&(g=T.values),S&&(x=A.values);var P=s=(h?b.length:w.length)/(h?3:2),N=d&&h?2:1;N+=I||S?1:0;var E=new Float32Array(P*=N),O=0;for(o=0;o<s;++o){d&&(r.o.fromArray(w,2*o,V),E[O++]=t.t.compressTextureCoordinates(V));var L=3*o;h&&a.e(g)&&a.e(x)?(i.t.fromArray(b,L,Y),i.t.fromArray(g,L,Z),i.t.fromArray(x,L,H),t.t.octPack(Y,Z,H,V),E[O++]=V.x,E[O++]=V.y):(h&&(i.t.fromArray(b,L,Y),E[O++]=t.t.octEncodeFloat(Y)),I&&(i.t.fromArray(g,L,Y),E[O++]=t.t.octEncodeFloat(Y)),S&&(i.t.fromArray(x,L,Y),E[O++]=t.t.octEncodeFloat(Y)))}return e.attributes.compressedAttributes=new y.o({componentDatatype:p.ComponentDatatype.FLOAT,componentsPerAttribute:N,values:E}),h&&delete e.attributes.normal,d&&delete e.attributes.st,S&&delete e.attributes.bitangent,I&&delete e.attributes.tangent,e};var J=new i.t;function K(e,t,r,n){i.t.add(e,i.t.multiplyByScalar(i.t.subtract(t,e,J),e.y/(e.y-t.y),J),r),i.t.clone(r,n),j(r,!0),j(n,!1)}var $=new i.t,Q=new i.t,ee=new i.t,te=new i.t,re={positions:new Array(7),indices:new Array(9)};function ie(e,t,r){if(!(e.x>=0||t.x>=0||r.x>=0)){!function(e,t,r){if(0!==e.y&&0!==t.y&&0!==r.y)return j(e,e.y<0),j(t,t.y<0),void j(r,r.y<0);var i=Math.abs(e.y),n=Math.abs(t.y),a=Math.abs(r.y),s=(i>n?i>a?o.e.sign(e.y):o.e.sign(r.y):n>a?o.e.sign(t.y):o.e.sign(r.y))<0;j(e,s),j(t,s),j(r,s)}(e,t,r);var i=e.y<0,n=t.y<0,a=r.y<0,s=0;s+=i?1:0,s+=n?1:0;var u=re.indices;1===(s+=a?1:0)?(u[1]=3,u[2]=4,u[5]=6,u[7]=6,u[8]=5,i?(K(e,t,$,ee),K(e,r,Q,te),u[0]=0,u[3]=1,u[4]=2,u[6]=1):n?(K(t,r,$,ee),K(t,e,Q,te),u[0]=1,u[3]=2,u[4]=0,u[6]=2):a&&(K(r,e,$,ee),K(r,t,Q,te),u[0]=2,u[3]=0,u[4]=1,u[6]=0)):2===s&&(u[2]=4,u[4]=4,u[5]=3,u[7]=5,u[8]=6,i?n?a||(K(r,e,$,ee),K(r,t,Q,te),u[0]=0,u[1]=1,u[3]=0,u[6]=2):(K(t,r,$,ee),K(t,e,Q,te),u[0]=2,u[1]=0,u[3]=2,u[6]=1):(K(e,t,$,ee),K(e,r,Q,te),u[0]=1,u[1]=2,u[3]=1,u[6]=0));var p=re.positions;return p[0]=e,p[1]=t,p[2]=r,p.length=3,(1===s||2===s)&&(p[3]=$,p[4]=Q,p[5]=ee,p[6]=te,p.length=7),re}}function ne(e,t){var r=e.attributes;if(0!==r.position.values.length){for(var i in r)if(r.hasOwnProperty(i)&&a.e(r[i])&&a.e(r[i].values)){var n=r[i];n.values=p.ComponentDatatype.createTypedArray(n.componentDatatype,n.values)}var o=y.I.computeNumberOfVertices(e);return e.indices=c.IndexDatatype.createTypedArray(o,e.indices),t&&(e.boundingSphere=s.i.fromVertices(r.position.values)),e}}function ae(e){var t=e.attributes,r={};for(var i in t)if(t.hasOwnProperty(i)&&a.e(t[i])&&a.e(t[i].values)){var n=t[i];r[i]=new y.o({componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,values:[]})}return new y.I({attributes:r,indices:[],primitiveType:e.primitiveType})}function oe(e,t,r){var i=a.e(e.geometry.boundingSphere);t=ne(t,i),r=ne(r,i),a.e(r)&&!a.e(t)?e.geometry=r:!a.e(r)&&a.e(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=r,e.geometry=void 0)}function se(e,t){var r=new e,i=new e,n=new e;return function(a,o,s,u,p,l,v,y){var c=e.fromArray(p,a*t,r),m=e.fromArray(p,o*t,i),f=e.fromArray(p,s*t,n);e.multiplyByScalar(c,u.x,c),e.multiplyByScalar(m,u.y,m),e.multiplyByScalar(f,u.z,f);var h=e.add(c,m,c);e.add(h,f,h),y&&e.normalize(h,h),e.pack(h,l,v*t)}}var ue=se(u.e,4),pe=se(i.t,3),le=se(r.o,2),ve=new i.t,ye=new i.t,ce=new i.t,me=new i.t;function fe(e,t,r,n,s,u,p,l,v,y,c,m,f,h,d,b){if(a.e(u)||a.e(p)||a.e(l)||a.e(v)||a.e(y)||0!==h){var w=g(n,i.t.fromArray(s,3*e,ve),i.t.fromArray(s,3*t,ye),i.t.fromArray(s,3*r,ce),me);if(a.e(u)&&pe(e,t,r,w,u,m.normal.values,b,!0),a.e(y)){var x,T=i.t.fromArray(y,3*e,ve),A=i.t.fromArray(y,3*t,ye),I=i.t.fromArray(y,3*r,ce);i.t.multiplyByScalar(T,w.x,T),i.t.multiplyByScalar(A,w.y,A),i.t.multiplyByScalar(I,w.z,I),i.t.equals(T,i.t.ZERO)&&i.t.equals(A,i.t.ZERO)&&i.t.equals(I,i.t.ZERO)?((x=ve).x=0,x.y=0,x.z=0):(x=i.t.add(T,A,T),i.t.add(x,I,x),i.t.normalize(x,x)),i.t.pack(x,m.extrudeDirection.values,3*b)}if(a.e(c)&&function(e,t,r,i,n,a,s){var u=n[e]*i.x,p=n[t]*i.y,l=n[r]*i.z;a[s]=u+p+l>o.e.EPSILON6?1:0}(e,t,r,w,c,m.applyOffset.values,b),a.e(p)&&pe(e,t,r,w,p,m.tangent.values,b,!0),a.e(l)&&pe(e,t,r,w,l,m.bitangent.values,b,!0),a.e(v)&&le(e,t,r,w,v,m.st.values,b),h>0)for(var S=0;S<h;S++){var P=f[S];he(e,t,r,w,b,d[P],m[P])}}}function he(e,t,r,i,n,a,o){var s=a.componentsPerAttribute,u=a.values,p=o.values;switch(s){case 4:ue(e,t,r,i,u,p,n,!1);break;case 3:pe(e,t,r,i,u,p,n,!1);break;case 2:le(e,t,r,i,u,p,n,!1);break;default:p[n]=u[e]*i.x+u[t]*i.y+u[r]*i.z}}function de(e,t,r,i,n,a){var o=e.position.values.length/3;if(-1!==n){var s=i[n],u=r[s];return-1===u?(r[s]=o,e.position.values.push(a.x,a.y,a.z),t.push(o),o):(t.push(u),u)}return e.position.values.push(a.x,a.y,a.z),t.push(o),o}var be={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function we(e){var t=e.geometry,r=t.attributes,n=r.position.values,o=a.e(r.normal)?r.normal.values:void 0,s=a.e(r.bitangent)?r.bitangent.values:void 0,u=a.e(r.tangent)?r.tangent.values:void 0,p=a.e(r.st)?r.st.values:void 0,l=a.e(r.extrudeDirection)?r.extrudeDirection.values:void 0,v=a.e(r.applyOffset)?r.applyOffset.values:void 0,y=t.indices,c=[];for(var m in r)r.hasOwnProperty(m)&&!be[m]&&a.e(r[m])&&c.push(m);var f,h,d,b,w=c.length,g=ae(t),x=ae(t),T=[];T.length=n.length/3;var A=[];for(A.length=n.length/3,b=0;b<T.length;++b)T[b]=-1,A[b]=-1;var I=y.length;for(b=0;b<I;b+=3){var S=y[b],P=y[b+1],N=y[b+2],E=i.t.fromArray(n,3*S),O=i.t.fromArray(n,3*P),L=i.t.fromArray(n,3*N),D=ie(E,O,L);if(a.e(D)&&D.positions.length>3)for(var z=D.positions,_=D.indices,q=_.length,C=0;C<q;++C){var R=_[C],G=z[R];G.y<0?(f=x.attributes,h=x.indices,d=T):(f=g.attributes,h=g.indices,d=A),fe(S,P,N,G,n,o,u,s,p,l,v,f,c,w,r,de(f,h,d,y,R<3?b+R:-1,G))}else a.e(D)&&(E=D.positions[0],O=D.positions[1],L=D.positions[2]),E.y<0?(f=x.attributes,h=x.indices,d=T):(f=g.attributes,h=g.indices,d=A),fe(S,P,N,E,n,o,u,s,p,l,v,f,c,w,r,de(f,h,d,y,b,E)),fe(S,P,N,O,n,o,u,s,p,l,v,f,c,w,r,de(f,h,d,y,b+1,O)),fe(S,P,N,L,n,o,u,s,p,l,v,f,c,w,r,de(f,h,d,y,b+2,L))}oe(e,x,g)}var ge=h.o.fromPointNormal(i.t.ZERO,i.t.UNIT_Y),xe=new i.t,Te=new i.t;function Ae(e,t,r,n,s,u,p){if(a.e(p)){var l=i.t.fromArray(n,3*e,ve);i.t.equalsEpsilon(l,r,o.e.EPSILON10)?u.applyOffset.values[s]=p[e]:u.applyOffset.values[s]=p[t]}}function Ie(e){var t,r=e.geometry,n=r.attributes,s=n.position.values,u=a.e(n.applyOffset)?n.applyOffset.values:void 0,p=r.indices,l=ae(r),v=ae(r),y=p.length,c=[];c.length=s.length/3;var f=[];for(f.length=s.length/3,t=0;t<c.length;++t)c[t]=-1,f[t]=-1;for(t=0;t<y;t+=2){var h=p[t],d=p[t+1],b=i.t.fromArray(s,3*h,ve),w=i.t.fromArray(s,3*d,ye);Math.abs(b.y)<o.e.EPSILON6&&(b.y<0?b.y=-o.e.EPSILON6:b.y=o.e.EPSILON6),Math.abs(w.y)<o.e.EPSILON6&&(w.y<0?w.y=-o.e.EPSILON6:w.y=o.e.EPSILON6);var g=l.attributes,x=l.indices,T=f,A=v.attributes,I=v.indices,S=c,P=m.g.lineSegmentPlane(b,w,ge,ce);if(a.e(P)){var N=i.t.multiplyByScalar(i.t.UNIT_Y,5*o.e.EPSILON9,xe);b.y<0&&(i.t.negate(N,N),g=v.attributes,x=v.indices,T=c,A=l.attributes,I=l.indices,S=f);var E=i.t.add(P,N,Te);Ae(h,d,b,s,de(g,x,T,p,t,b),g,u),Ae(h,d,E,s,de(g,x,T,p,-1,E),g,u),i.t.negate(N,N),i.t.add(P,N,E),Ae(h,d,E,s,de(A,I,S,p,-1,E),A,u),Ae(h,d,w,s,de(A,I,S,p,t+1,w),A,u)}else{var O,L,D;b.y<0?(O=v.attributes,L=v.indices,D=c):(O=l.attributes,L=l.indices,D=f),Ae(h,d,b,s,de(O,L,D,p,t,b),O,u),Ae(h,d,w,s,de(O,L,D,p,t+1,w),O,u)}}oe(e,v,l)}var Se=new r.o,Pe=new r.o,Ne=new i.t,Ee=new i.t,Oe=new i.t,Le=new i.t,De=new i.t,ze=new i.t,_e=new i.t,qe=new u.e;function Ce(e){for(var t=e.attributes,r=t.position.values,n=t.prevPosition.values,a=t.nextPosition.values,o=r.length,s=0;s<o;s+=3){var u=i.t.unpack(r,s,Ne);if(!(u.x>0)){var p=i.t.unpack(n,s,Ee);(u.y<0&&p.y>0||u.y>0&&p.y<0)&&(s-3>0?(n[s]=r[s-3],n[s+1]=r[s-2],n[s+2]=r[s-1]):i.t.pack(u,n,s));var l=i.t.unpack(a,s,Oe);(u.y<0&&l.y>0||u.y>0&&l.y<0)&&(s+3<o?(a[s]=r[s+3],a[s+1]=r[s+4],a[s+2]=r[s+5]):i.t.pack(u,a,s))}}}var Re=5*o.e.EPSILON9,Ge=o.e.EPSILON6;T.splitLongitude=function(e){if(!a.e(e))throw new n.t("instance is required.");var t=e.geometry,p=t.boundingSphere;if(a.e(p)&&(p.center.x-p.radius>0||s.i.intersectPlane(p,h.o.ORIGIN_ZX_PLANE)!==v.S.INTERSECTING))return e;if(t.geometryType!==y.Me.NONE)switch(t.geometryType){case y.Me.POLYLINES:!function(e){var t,n,s,p=e.geometry,l=p.attributes,v=l.position.values,y=l.prevPosition.values,c=l.nextPosition.values,f=l.expandAndWidth.values,h=a.e(l.st)?l.st.values:void 0,d=a.e(l.color)?l.color.values:void 0,b=a.e(l.dist)?l.dist.values:void 0,w=ae(p),g=ae(p),x=!1,T=v.length/3;for(t=0;t<T;t+=4){var A=t,I=t+2,S=i.t.fromArray(v,3*A,Ne),P=i.t.fromArray(v,3*I,Ee);if(Math.abs(S.y)<Ge)for(S.y=Ge*(P.y<0?-1:1),v[3*t+1]=S.y,v[3*(t+1)+1]=S.y,n=3*A;n<3*A+12;n+=3)y[n]=v[3*t],y[n+1]=v[3*t+1],y[n+2]=v[3*t+2];if(Math.abs(P.y)<Ge)for(P.y=Ge*(S.y<0?-1:1),v[3*(t+2)+1]=P.y,v[3*(t+3)+1]=P.y,n=3*A;n<3*A+12;n+=3)c[n]=v[3*(t+2)],c[n+1]=v[3*(t+2)+1],c[n+2]=v[3*(t+2)+2];var N=w.attributes,E=w.indices,O=g.attributes,L=g.indices,D=m.g.lineSegmentPlane(S,P,ge,Le);if(a.e(D)){x=!0;var z=i.t.multiplyByScalar(i.t.UNIT_Y,Re,De);S.y<0&&(i.t.negate(z,z),N=g.attributes,E=g.indices,O=w.attributes,L=w.indices);var _=i.t.add(D,z,ze);N.position.values.push(S.x,S.y,S.z,S.x,S.y,S.z),N.position.values.push(_.x,_.y,_.z),N.position.values.push(_.x,_.y,_.z),N.prevPosition.values.push(y[3*A],y[3*A+1],y[3*A+2]),N.prevPosition.values.push(y[3*A+3],y[3*A+4],y[3*A+5]),N.prevPosition.values.push(S.x,S.y,S.z,S.x,S.y,S.z),N.nextPosition.values.push(_.x,_.y,_.z),N.nextPosition.values.push(_.x,_.y,_.z),N.nextPosition.values.push(_.x,_.y,_.z),N.nextPosition.values.push(_.x,_.y,_.z),i.t.negate(z,z),i.t.add(D,z,_),O.position.values.push(_.x,_.y,_.z),O.position.values.push(_.x,_.y,_.z),O.position.values.push(P.x,P.y,P.z,P.x,P.y,P.z),O.prevPosition.values.push(_.x,_.y,_.z),O.prevPosition.values.push(_.x,_.y,_.z),O.prevPosition.values.push(_.x,_.y,_.z),O.prevPosition.values.push(_.x,_.y,_.z),O.nextPosition.values.push(P.x,P.y,P.z,P.x,P.y,P.z),O.nextPosition.values.push(c[3*I],c[3*I+1],c[3*I+2]),O.nextPosition.values.push(c[3*I+3],c[3*I+4],c[3*I+5]);var q=r.o.fromArray(f,2*A,Se),C=Math.abs(q.y);N.expandAndWidth.values.push(-1,C,1,C),N.expandAndWidth.values.push(-1,-C,1,-C),O.expandAndWidth.values.push(-1,C,1,C),O.expandAndWidth.values.push(-1,-C,1,-C);var R=i.t.magnitudeSquared(i.t.subtract(D,S,Oe));if(R/=i.t.magnitudeSquared(i.t.subtract(P,S,Oe)),a.e(d)){var G=u.e.fromArray(d,4*A,qe),F=u.e.fromArray(d,4*I,qe),k=o.e.lerp(G.x,F.x,R),B=o.e.lerp(G.y,F.y,R),M=o.e.lerp(G.z,F.z,R),U=o.e.lerp(G.w,F.w,R);for(n=4*A;n<4*A+8;++n)N.color.values.push(d[n]);for(N.color.values.push(k,B,M,U),N.color.values.push(k,B,M,U),O.color.values.push(k,B,M,U),O.color.values.push(k,B,M,U),n=4*I;n<4*I+8;++n)O.color.values.push(d[n])}if(a.e(h)){var V=r.o.fromArray(h,2*A,Se),Y=r.o.fromArray(h,2*(t+3),Pe),Z=o.e.lerp(V.x,Y.x,R);for(n=2*A;n<2*A+4;++n)N.st.values.push(h[n]);for(N.st.values.push(Z,V.y),N.st.values.push(Z,Y.y),O.st.values.push(Z,V.y),O.st.values.push(Z,Y.y),n=2*I;n<2*I+4;++n)O.st.values.push(h[n])}if(a.e(b)){var H=i.t.fromArray(b,3*A,_e),W=i.t.fromArray(b,3*I,_e),X=o.e.lerp(H.x,W.x,R);for(n=3*A;n<3*A+6;++n)N.dist.values.push(b[n]);for(N.dist.values.push(X,H.y,H.z),N.dist.values.push(X,H.y,H.z),O.dist.values.push(X,W.y,W.z),O.dist.values.push(X,W.y,W.z),n=3*I;n<3*I+6;++n)O.dist.values.push(b[n])}s=N.position.values.length/3-4,E.push(s,s+2,s+1),E.push(s+1,s+2,s+3),s=O.position.values.length/3-4,L.push(s,s+2,s+1),L.push(s+1,s+2,s+3)}else{var j,J;for(S.y<0?(j=g.attributes,J=g.indices):(j=w.attributes,J=w.indices),j.position.values.push(S.x,S.y,S.z),j.position.values.push(S.x,S.y,S.z),j.position.values.push(P.x,P.y,P.z),j.position.values.push(P.x,P.y,P.z),n=3*t;n<3*t+12;++n)j.prevPosition.values.push(y[n]),j.nextPosition.values.push(c[n]);for(n=2*t;n<2*t+8;++n)j.expandAndWidth.values.push(f[n]),a.e(h)&&j.st.values.push(h[n]);if(a.e(d))for(n=4*t;n<4*t+16;++n)j.color.values.push(d[n]);if(a.e(b))for(n=3*t;n<3*t+12;++n)j.dist.values.push(b[n]);s=j.position.values.length/3-4,J.push(s,s+2,s+1),J.push(s+1,s+2,s+3)}}x&&(Ce(g),Ce(w)),oe(e,g,w)}(e);break;case y.Me.TRIANGLES:we(e);break;case y.Me.LINES:Ie(e)}else X(t),t.primitiveType===f._0x29ba75.TRIANGLES?we(e):t.primitiveType===f._0x29ba75.LINES&&Ie(e);return e},e.k=T}));
|