define(["exports","./AttributeCompression-399750a1","./buildModuleUrl-8cce5713","./Cartesian4-b0ddc4ba","./Check-7b2a090c","./when-b60132fc","./Math-31e539c2","./FeatureDetection-ab6f364c","./EncodedCartesian3-ac3717ed","./GeometryAttribute-923c2729","./IndexDatatype-3565e02d","./Plane-5716a082"],(function(e,t,r,a,n,i,s,o,u,p,d,l){"use strict";var v=new a.Cartesian3,y=new a.Cartesian3,f=new a.Cartesian3;var c={calculateACMR:function(e){var t=(e=i.defaultValue(e,i.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=i.defaultValue(e.cacheSize,24),n=t.length;if(!i.defined(r)){r=0;for(var s=0,o=t[s];sr&&(r=o),o=t[++s]}for(var u=[],p=0;pa&&(u[t[l]]=d,++d);return(d-a+1)/(n/3)}};c.tipsify=function(e){var t,r=(e=i.defaultValue(e,i.defaultValue.EMPTY_OBJECT)).indices,a=e.maximumIndex,n=i.defaultValue(e.cacheSize,24);function s(e,r,a,n,i,s,o){for(var u,p=-1,d=-1,l=0;ld||-1===d)&&(d=u,p=v)),++l}return-1===p?function(e,r,a,n){for(;r.length>=1;){var i=r[r.length-1];if(r.splice(r.length-1,1),e[i].numLiveTriangles>0)return i}for(;t0)return++t-1;++t}return-1}(n,s,0,o):p}var o=r.length,u=0,p=0,d=r[p],l=o;if(i.defined(a))u=a+1;else{for(;pu&&(u=d),d=r[++p];if(-1===u)return 0;++u}var v,y=[];for(v=0;vn&&(h.timeStamp=m,++m),++p}c=s(0,n,A,y,m,T,u)}return P};var m={};function h(e,t,r,a,n){e[t++]=r,e[t++]=a,e[t++]=a,e[t++]=n,e[t++]=n,e[t]=r}function C(e){var t={};for(var r in e)if(e.hasOwnProperty(r)&&i.defined(e[r])&&i.defined(e[r].values)){var a=e[r];t[r]=new p.GeometryAttribute({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:[]})}return t}function b(e,t,r){for(var a in t)if(t.hasOwnProperty(a)&&i.defined(t[a])&&i.defined(t[a].values))for(var n=t[a],s=0;s=3){var r=6*(t-2),a=d.IndexDatatype.createTypedArray(t,r);h(a,0,e[0],e[1],e[2]);for(var n=6,i=3;i0){for(var t=e.length-1,r=6*(t-1),a=d.IndexDatatype.createTypedArray(t,r),n=e[0],i=0,s=1;ss&&(s=a[o]);e.indices=c.tipsify({indices:a,maximumIndex:s,cacheSize:t})}return e},m.fitToUnsignedShortIndices=function(e){var t=[],a=p.Geometry.computeNumberOfVertices(e);if(i.defined(e.indices)&&a>=s.Math3D.SIXTY_FOUR_KILOBYTES){var n,o=[],u=[],d=0,l=C(e.attributes),v=e.indices,y=v.length;e.primitiveType===r.PrimitiveType.TRIANGLES?n=3:e.primitiveType===r.PrimitiveType.LINES?n=2:e.primitiveType===r.PrimitiveType.POINTS&&(n=1);for(var f=0;f=s.Math3D.SIXTY_FOUR_KILOBYTES&&(t.push(new p.Geometry({attributes:l,indices:u,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),o=[],u=[],d=0,l=C(e.attributes))}0!==u.length&&t.push(new p.Geometry({attributes:l,indices:u,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var g=new a.Cartesian3,A=new a.Cartographic;m.projectTo2D=function(e,t,n,s,u){for(var d=e.attributes[t],l=(u=i.defined(u)?u:new r.GeographicProjection).ellipsoid,v=d.values,y=new Float64Array(v.length),f=0,c=0;cE&&(E=N)}return new p.Geometry({attributes:b,indices:m,primitiveType:C,boundingSphere:i.defined(O)?new r.BoundingSphere(O,E):void 0})}m.combineInstances=function(e){for(var t=[],r=[],a=e.length,n=0;n0&&o.push(O(t,"geometry")),r.length>0&&(o.push(O(r,"westHemisphereGeometry")),o.push(O(r,"eastHemisphereGeometry"))),o};var E=new a.Cartesian3,N=new a.Cartesian3,L=new a.Cartesian3,z=new a.Cartesian3;m.computeNormal=function(e){var t,r=e.indices,n=e.attributes,i=n.position.values,u=n.position.values.length/3,d=r.length,l=new Array(u),v=new Array(d/3),y=new Array(d);for(t=0;t0){for(f=0;f3&&(a[3]=0,a[4]=2,a[5]=3);for(var n=6,i=3;i=0||t.x>=0||r.x>=0)){!function(e,t,r){if(0!==e.y&&0!==t.y&&0!==r.y)return q(e,e.y<0),q(t,t.y<0),void q(r,r.y<0);var a=Math.abs(e.y),n=Math.abs(t.y),i=Math.abs(r.y),o=(a>n?a>i?s.Math3D.sign(e.y):s.Math3D.sign(r.y):n>i?s.Math3D.sign(t.y):s.Math3D.sign(r.y))<0;q(e,o),q(t,o),q(r,o)}(e,t,r);var a=e.y<0,n=t.y<0,i=r.y<0,o=0;o+=a?1:0,o+=n?1:0;var u=J.indices;1===(o+=i?1:0)?(u[1]=3,u[2]=4,u[5]=6,u[7]=6,u[8]=5,a?(Z(e,t,H,X),Z(e,r,W,j),u[0]=0,u[3]=1,u[4]=2,u[6]=1):n?(Z(t,r,H,X),Z(t,e,W,j),u[0]=1,u[3]=2,u[4]=0,u[6]=2):i&&(Z(r,e,H,X),Z(r,t,W,j),u[0]=2,u[3]=0,u[4]=1,u[6]=0)):2===o&&(u[2]=4,u[4]=4,u[5]=3,u[7]=5,u[8]=6,a?n?i||(Z(r,e,H,X),Z(r,t,W,j),u[0]=0,u[1]=1,u[3]=0,u[6]=2):(Z(t,r,H,X),Z(t,e,W,j),u[0]=2,u[1]=0,u[3]=2,u[6]=1):(Z(e,t,H,X),Z(e,r,W,j),u[0]=1,u[1]=2,u[3]=1,u[6]=0));var p=J.positions;return p[0]=e,p[1]=t,p[2]=r,p.length=3,1!==o&&2!==o||(p[3]=H,p[4]=W,p[5]=X,p[6]=j,p.length=7),J}}function Q(e,t){var a=e.attributes;if(0!==a.position.values.length){for(var n in a)if(a.hasOwnProperty(n)&&i.defined(a[n])&&i.defined(a[n].values)){var s=a[n];s.values=o.ComponentDatatype.createTypedArray(s.componentDatatype,s.values)}var u=p.Geometry.computeNumberOfVertices(e);return e.indices=d.IndexDatatype.createTypedArray(u,e.indices),t&&(e.boundingSphere=r.BoundingSphere.fromVertices(a.position.values)),e}}function $(e){var t=e.attributes,r={};for(var a in t)if(t.hasOwnProperty(a)&&i.defined(t[a])&&i.defined(t[a].values)){var n=t[a];r[a]=new p.GeometryAttribute({componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,values:[]})}return new p.Geometry({attributes:r,indices:[],primitiveType:e.primitiveType})}function ee(e,t,r){var a=i.defined(e.geometry.boundingSphere);t=Q(t,a),r=Q(r,a),i.defined(r)&&!i.defined(t)?e.geometry=r:!i.defined(r)&&i.defined(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=r,e.geometry=void 0)}function te(e,t){var r=new e,a=new e,n=new e;return function(i,s,o,u,p,d,l,v){var y=e.fromArray(p,i*t,r),f=e.fromArray(p,s*t,a),c=e.fromArray(p,o*t,n);e.multiplyByScalar(y,u.x,y),e.multiplyByScalar(f,u.y,f),e.multiplyByScalar(c,u.z,c);var m=e.add(y,f,y);e.add(m,c,m),v&&e.normalize(m,m),e.pack(m,d,l*t)}}var re=te(a.Cartesian4,4),ae=te(a.Cartesian3,3),ne=te(r.Cartesian2,2),ie=new a.Cartesian3,se=new a.Cartesian3,oe=new a.Cartesian3,ue=new a.Cartesian3;function pe(e,t,n,o,u,p,d,l,c,m,h,C,b,g,A,T){if(i.defined(p)||i.defined(d)||i.defined(l)||i.defined(c)||i.defined(m)||0!==g){var x=function(e,t,n,o,u){var p,d,l,c,m,h,C,b;if(i.defined(u)||(u=new a.Cartesian3),i.defined(t.z)){if(a.Cartesian3.equalsEpsilon(e,t,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_X,u);if(a.Cartesian3.equalsEpsilon(e,n,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_Y,u);if(a.Cartesian3.equalsEpsilon(e,o,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_Z,u);p=a.Cartesian3.subtract(n,t,v),d=a.Cartesian3.subtract(o,t,y),l=a.Cartesian3.subtract(e,t,f),c=a.Cartesian3.dot(p,p),m=a.Cartesian3.dot(p,d),h=a.Cartesian3.dot(p,l),C=a.Cartesian3.dot(d,d),b=a.Cartesian3.dot(d,l)}else{if(r.Cartesian2.equalsEpsilon(e,t,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_X,u);if(r.Cartesian2.equalsEpsilon(e,n,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_Y,u);if(r.Cartesian2.equalsEpsilon(e,o,s.Math3D.EPSILON14))return a.Cartesian3.clone(a.Cartesian3.UNIT_Z,u);p=r.Cartesian2.subtract(n,t,v),d=r.Cartesian2.subtract(o,t,y),l=r.Cartesian2.subtract(e,t,f),c=r.Cartesian2.dot(p,p),m=r.Cartesian2.dot(p,d),h=r.Cartesian2.dot(p,l),C=r.Cartesian2.dot(d,d),b=r.Cartesian2.dot(d,l)}u.y=C*h-m*b,u.z=c*b-m*h;var g=c*C-m*m;return 0!==u.y&&(u.y/=g),0!==u.z&&(u.z/=g),u.x=1-u.y-u.z,u}(o,a.Cartesian3.fromArray(u,3*e,ie),a.Cartesian3.fromArray(u,3*t,se),a.Cartesian3.fromArray(u,3*n,oe),ue);if(i.defined(p)&&ae(e,t,n,x,p,C.normal.values,T,!0),i.defined(m)){var P,w=a.Cartesian3.fromArray(m,3*e,ie),S=a.Cartesian3.fromArray(m,3*t,se),D=a.Cartesian3.fromArray(m,3*n,oe);a.Cartesian3.multiplyByScalar(w,x.x,w),a.Cartesian3.multiplyByScalar(S,x.y,S),a.Cartesian3.multiplyByScalar(D,x.z,D),a.Cartesian3.equals(w,a.Cartesian3.ZERO)&&a.Cartesian3.equals(S,a.Cartesian3.ZERO)&&a.Cartesian3.equals(D,a.Cartesian3.ZERO)?((P=ie).x=0,P.y=0,P.z=0):(P=a.Cartesian3.add(w,S,w),a.Cartesian3.add(P,D,P),a.Cartesian3.normalize(P,P)),a.Cartesian3.pack(P,C.extrudeDirection.values,3*T)}if(i.defined(h)&&function(e,t,r,a,n,i,o){var u=n[e]*a.x,p=n[t]*a.y,d=n[r]*a.z;i[o]=u+p+d>s.Math3D.EPSILON6?1:0}(e,t,n,x,h,C.applyOffset.values,T),i.defined(d)&&ae(e,t,n,x,d,C.tangent.values,T,!0),i.defined(l)&&ae(e,t,n,x,l,C.bitangent.values,T,!0),i.defined(c)&&ne(e,t,n,x,c,C.st.values,T),g>0)for(var I=0;I3)for(var L=N.positions,z=N.indices,M=z.length,G=0;G0)){var p=a.Cartesian3.unpack(n,o,Te);(u.y<0&&p.y>0||u.y>0&&p.y<0)&&(o-3>0?(n[o]=r[o-3],n[o+1]=r[o-2],n[o+2]=r[o-1]):a.Cartesian3.pack(u,n,o));var d=a.Cartesian3.unpack(i,o,xe);(u.y<0&&d.y>0||u.y>0&&d.y<0)&&(o+30||r.BoundingSphere.intersectPlane(n,l.Plane.ORIGIN_ZX_PLANE)!==r.Intersect.INTERSECTING))return e;if(t.geometryType!==p.GeometryType.NONE)switch(t.geometryType){case p.GeometryType.POLYLINES:!function(e){var t,n,o,u=e.geometry,p=u.attributes,d=p.position.values,v=p.prevPosition.values,y=p.nextPosition.values,f=p.expandAndWidth.values,c=i.defined(p.st)?p.st.values:void 0,m=i.defined(p.color)?p.color.values:void 0,h=i.defined(p.dist)?p.dist.values:void 0,C=$(u),b=$(u),g=!1,A=d.length/3;for(t=0;t