define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./AttributeCompression-9fc99391","./EncodedCartesian3-4df2eabb","./IndexDatatype-53503fee","./IntersectionTests-8abf6dba","./Plane-c8971487"],function(e,R,t,L,V,z,w,S,A,d,P,D,a){"use strict";var g=new V.Cartesian3,T=new V.Cartesian3,x=new V.Cartesian3;var s={calculateACMR:function(e){var t=(e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=R.defaultValue(e.cacheSize,24),n=t.length;if(!R.defined(r))for(var i=r=0,s=t[i];ia&&(o[t[d]]=p,++p);return(p-a+1)/(n/3)}};s.tipsify=function(e){var t=(e=R.defaultValue(e,R.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,a=R.defaultValue(e.cacheSize,24);function n(e,t,r,a,n,i,s){for(var o,u=-1,p=-1,d=0;da&&(f.timeStamp=m,++m),++s}v=n(0,a,h,p,m,b,i)}return A};var r={};function o(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,r,a={};for(t in e)e.hasOwnProperty(t)&&R.defined(e[t])&&R.defined(e[t].values)&&(r=e[t],a[t]=new S.GeometryAttribute({componentDatatype:r.componentDatatype,componentsPerAttribute:r.componentsPerAttribute,normalize:r.normalize,values:[]}));return a}r.toWireframe=function(e){var t=e.indices;if(R.defined(t)){switch(e.primitiveType){case S.PrimitiveType.TRIANGLES:e.indices=function(e){for(var t=e.length,r=t/3*6,a=P.IndexDatatype.createTypedArray(t,r),n=0,i=0;in&&(n=r[i]);e.indices=s.tipsify({indices:r,maximumIndex:n,cacheSize:t})}return e},r.fitToUnsignedShortIndices=function(e){var t=[],r=S.Geometry.computeNumberOfVertices(e);if(R.defined(e.indices)&&r>=L.CesiumMath.SIXTY_FOUR_KILOBYTES){var a,n=[],i=[],s=0,o=c(e.attributes),u=e.indices,p=u.length;e.primitiveType===S.PrimitiveType.TRIANGLES?a=3:e.primitiveType===S.PrimitiveType.LINES?a=2:e.primitiveType===S.PrimitiveType.POINTS&&(a=1);for(var d=0;d=L.CesiumMath.SIXTY_FOUR_KILOBYTES&&(t.push(new S.Geometry({attributes:o,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),n=[],i=[],s=0,o=c(e.attributes))}0!==i.length&&t.push(new S.Geometry({attributes:o,indices:i,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var y=new V.Cartesian3,f=new V.Cartographic;r.projectTo2D=function(e,t,r,a,n){for(var i=e.attributes[t],s=(n=R.defined(n)?n:new z.GeographicProjection).ellipsoid,o=i.values,u=new Float64Array(o.length),p=0,d=0;dL.CesiumMath.EPSILON6?1:0},se=new V.Cartesian3,oe=new V.Cartesian3,ue=new V.Cartesian3,pe=new V.Cartesian3;function de(e,t,r,a,n,i,s,o,u,p,d,l,y,f,c,v){if(R.defined(i)||R.defined(s)||R.defined(o)||R.defined(u)||R.defined(p)||0!==f){var m,C=function(e,t,r,a,n){var i,s,o,u,p,d,l;if(R.defined(n)||(n=new V.Cartesian3),R.defined(t.z)){if(V.Cartesian3.equalsEpsilon(e,t,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_X,n);if(V.Cartesian3.equalsEpsilon(e,r,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Y,n);if(V.Cartesian3.equalsEpsilon(e,a,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Z,n);i=V.Cartesian3.subtract(r,t,g),s=V.Cartesian3.subtract(a,t,T),o=V.Cartesian3.subtract(e,t,x),u=V.Cartesian3.dot(i,i),y=V.Cartesian3.dot(i,s),p=V.Cartesian3.dot(i,o),d=V.Cartesian3.dot(s,s),l=V.Cartesian3.dot(s,o)}else{if(V.Cartesian2.equalsEpsilon(e,t,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_X,n);if(V.Cartesian2.equalsEpsilon(e,r,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Y,n);if(V.Cartesian2.equalsEpsilon(e,a,L.CesiumMath.EPSILON14))return V.Cartesian3.clone(V.Cartesian3.UNIT_Z,n);i=V.Cartesian2.subtract(r,t,g),s=V.Cartesian2.subtract(a,t,T),o=V.Cartesian2.subtract(e,t,x),u=V.Cartesian2.dot(i,i),y=V.Cartesian2.dot(i,s),p=V.Cartesian2.dot(i,o),d=V.Cartesian2.dot(s,s),l=V.Cartesian2.dot(s,o)}n.y=d*p-y*l,n.z=u*l-y*p;var y=u*d-y*y;return 0!==n.y&&(n.y/=y),0!==n.z&&(n.z/=y),n.x=1-n.y-n.z,n}(a,V.Cartesian3.fromArray(n,3*e,se),V.Cartesian3.fromArray(n,3*t,oe),V.Cartesian3.fromArray(n,3*r,ue),pe);if(R.defined(i)&&ae(e,t,r,C,i,l.normal.values,v,!0),R.defined(p)&&(n=V.Cartesian3.fromArray(p,3*e,se),i=V.Cartesian3.fromArray(p,3*t,oe),p=V.Cartesian3.fromArray(p,3*r,ue),V.Cartesian3.multiplyByScalar(n,C.x,n),V.Cartesian3.multiplyByScalar(i,C.y,i),V.Cartesian3.multiplyByScalar(p,C.z,p),V.Cartesian3.equals(n,V.Cartesian3.ZERO)&&V.Cartesian3.equals(i,V.Cartesian3.ZERO)&&V.Cartesian3.equals(p,V.Cartesian3.ZERO)?((m=se).x=0,m.y=0,m.z=0):(m=V.Cartesian3.add(n,i,n),V.Cartesian3.add(m,p,m),V.Cartesian3.normalize(m,m)),V.Cartesian3.pack(m,l.extrudeDirection.values,3*v)),R.defined(d)&&ie(e,t,r,C,d,l.applyOffset.values,v),R.defined(s)&&ae(e,t,r,C,s,l.tangent.values,v,!0),R.defined(o)&&ae(e,t,r,C,o,l.bitangent.values,v,!0),R.defined(u)&&ne(e,t,r,C,u,l.st.values,v),0