define(["exports","./AttributeCompression-3961575e","./Rectangle-82621db8","./Check-24483042","./when-54335d57","./Math-7a8129d6","./Transforms-b51fdb37","./ComponentDatatype-1a100acd","./EncodedCartesian3-c7ed7a62","./GeometryAttribute-02fdce7a","./IndexDatatype-edb2f4d6","./IntersectionTests-afc06c64","./Plane-fd9e13db"],function(e,P,_,t,q,U,Y,M,l,G,w,Z,a){"use strict";var x=new _.Cartesian3,S=new _.Cartesian3,I=new _.Cartesian3;var s={calculateACMR:function(e){var t=(e=q.defaultValue(e,q.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=q.defaultValue(e.cacheSize,24),i=t.length;if(!q.defined(r))for(var n=r=0,s=t[n];na&&(o[t[d]]=p,++p);return(p-a+1)/(i/3)}};s.tipsify=function(e){var v,t=(e=q.defaultValue(e,q.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=q.defaultValue(e.cacheSize,24);function i(e,t,r,a,i,n,s){for(var o,u=-1,p=-1,d=0;da&&(m.timeStamp=c,++c),++o}f=i(0,a,g,l,c,A,s)}return x};var r={};function o(e,t,r,a,i){e[t++]=r,e[t++]=a,e[t++]=a,e[t++]=i,e[t++]=i,e[t]=r}function f(e){var t={};for(var r in e)if(e.hasOwnProperty(r)&&q.defined(e[r])&&q.defined(e[r].values)){var a=e[r];t[r]=new G.GeometryAttribute({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:[]})}return t}function c(e,t,r){for(var a in t)if(t.hasOwnProperty(a)&&q.defined(t[a])&&q.defined(t[a].values))for(var i=t[a],n=0;ni&&(i=r[n]);e.indices=s.tipsify({indices:r,maximumIndex:i,cacheSize:t})}return e},r.fitToUnsignedShortIndices=function(e){var t=[],r=G.Geometry.computeNumberOfVertices(e);if(q.defined(e.indices)&&r>=U.CesiumMath.SIXTY_FOUR_KILOBYTES){var a,i=[],n=[],s=0,o=f(e.attributes),u=e.indices,p=u.length;e.primitiveType===G.PrimitiveType.TRIANGLES?a=3:e.primitiveType===G.PrimitiveType.LINES?a=2:e.primitiveType===G.PrimitiveType.POINTS&&(a=1);for(var d=0;d=U.CesiumMath.SIXTY_FOUR_KILOBYTES&&(t.push(new G.Geometry({attributes:o,indices:n,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],n=[],s=0,o=f(e.attributes))}0!==n.length&&t.push(new G.Geometry({attributes:o,indices:n,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var m=new _.Cartesian3,C=new _.Cartographic;r.projectTo2D=function(e,t,r,a,i){for(var n=e.attributes[t],s=(i=q.defined(i)?i:new Y.GeographicProjection).ellipsoid,o=n.values,u=new Float64Array(o.length),p=0,d=0;dU.CesiumMath.EPSILON6?1:0},oe=new _.Cartesian3,ue=new _.Cartesian3,pe=new _.Cartesian3,de=new _.Cartesian3;function le(e,t,r,a,i,n,s,o,u,p,d,l,v,y,f,c){if(q.defined(n)||q.defined(s)||q.defined(o)||q.defined(u)||q.defined(p)||0!==y){var m=function(e,t,r,a,i){var n,s,o,u,p,d,l,v;if(q.defined(i)||(i=new _.Cartesian3),q.defined(t.z)){if(_.Cartesian3.equalsEpsilon(e,t,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_X,i);if(_.Cartesian3.equalsEpsilon(e,r,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_Y,i);if(_.Cartesian3.equalsEpsilon(e,a,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_Z,i);n=_.Cartesian3.subtract(r,t,x),s=_.Cartesian3.subtract(a,t,S),o=_.Cartesian3.subtract(e,t,I),u=_.Cartesian3.dot(n,n),p=_.Cartesian3.dot(n,s),d=_.Cartesian3.dot(n,o),l=_.Cartesian3.dot(s,s),v=_.Cartesian3.dot(s,o)}else{if(_.Cartesian2.equalsEpsilon(e,t,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_X,i);if(_.Cartesian2.equalsEpsilon(e,r,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_Y,i);if(_.Cartesian2.equalsEpsilon(e,a,U.CesiumMath.EPSILON14))return _.Cartesian3.clone(_.Cartesian3.UNIT_Z,i);n=_.Cartesian2.subtract(r,t,x),s=_.Cartesian2.subtract(a,t,S),o=_.Cartesian2.subtract(e,t,I),u=_.Cartesian2.dot(n,n),p=_.Cartesian2.dot(n,s),d=_.Cartesian2.dot(n,o),l=_.Cartesian2.dot(s,s),v=_.Cartesian2.dot(s,o)}i.y=l*d-p*v,i.z=u*v-p*d;var y=u*l-p*p;return 0!==i.y&&(i.y/=y),0!==i.z&&(i.z/=y),i.x=1-i.y-i.z,i}(a,_.Cartesian3.fromArray(i,3*e,oe),_.Cartesian3.fromArray(i,3*t,ue),_.Cartesian3.fromArray(i,3*r,pe),de);if(q.defined(n)&&ie(e,t,r,m,n,l.normal.values,c,!0),q.defined(p)){var C,h=_.Cartesian3.fromArray(p,3*e,oe),b=_.Cartesian3.fromArray(p,3*t,ue),g=_.Cartesian3.fromArray(p,3*r,pe);_.Cartesian3.multiplyByScalar(h,m.x,h),_.Cartesian3.multiplyByScalar(b,m.y,b),_.Cartesian3.multiplyByScalar(g,m.z,g),_.Cartesian3.equals(h,_.Cartesian3.ZERO)&&_.Cartesian3.equals(b,_.Cartesian3.ZERO)&&_.Cartesian3.equals(g,_.Cartesian3.ZERO)?((C=oe).x=0,C.y=0,C.z=0):(C=_.Cartesian3.add(h,b,h),_.Cartesian3.add(C,g,C),_.Cartesian3.normalize(C,C)),_.Cartesian3.pack(C,l.extrudeDirection.values,3*c)}if(q.defined(d)&&se(e,t,r,m,d,l.applyOffset.values,c),q.defined(s)&&ie(e,t,r,m,s,l.tangent.values,c,!0),q.defined(o)&&ie(e,t,r,m,o,l.bitangent.values,c,!0),q.defined(u)&&ne(e,t,r,m,u,l.st.values,c),0