bmh_cesium/public/lib/cesiumjs/CesiumUnminified/Workers/GeometryPipeline-1ea64cde.js

2 lines
35 KiB
JavaScript
Raw Normal View History

2025-03-09 23:23:50 +00:00
/* 2020-9-22 15:23:25 | 版权所有 军懋国兴 */
define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-69007a69","./Cartesian2-43e3a3be","./Transforms-2d1ac5ec","./ComponentDatatype-607c9a0c","./GeometryAttribute-2303bbfb","./AttributeCompression-ea810287","./EncodedCartesian3-29a09d7b","./IndexDatatype-79bb407c","./IntersectionTests-459f6f08","./Plane-46b5436f"],function(e,F,M,_,U,Y,q,R,E,l,x,Z,i){"use strict";var A=new U.Cartesian3,D=new U.Cartesian3,P=new U.Cartesian3;var o={calculateACMR:function(e){var t=(e=F.defaultValue(e,F.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,i=F.defaultValue(e.cacheSize,24);if(!F.defined(t))throw new M.DeveloperError("indices is required.");var a=t.length;if(a<3||a%3!=0)throw new M.DeveloperError("indices length must be a multiple of three.");if(r<=0)throw new M.DeveloperError("maximumIndex must be greater than zero.");if(i<3)throw new M.DeveloperError("cacheSize must be greater than two.");if(!F.defined(r))for(var n=r=0,o=t[n];n<a;)r<o&&(r=o),o=t[++n];for(var s=[],u=0;u<r+1;u++)s[u]=0;for(var p=i+1,d=0;d<a;++d)p-s[t[d]]>i&&(s[t[d]]=p,++p);return(p-i+1)/(a/3)}};o.tipsify=function(e){var t=(e=F.defaultValue(e,F.defaultValue.EMPTY_OBJECT)).indices,r=e.maximumIndex,i=F.defaultValue(e.cacheSize,24);function a(e,t,r,i,a,n,o){for(var s,u=-1,p=-1,d=0;d<r.length;){var l=r[d];i[l].numLiveTriangles&&(s=0,a-i[l].timeStamp+2*i[l].numLiveTriangles<=t&&(s=a-i[l].timeStamp),(p<s||-1===p)&&(p=s,u=l)),++d}return-1===u?function(e,t,r){for(;1<=t.length;){var i=t[t.length-1];if(t.splice(t.length-1,1),0<e[i].numLiveTriangles)return i}for(;b<r;){if(0<e[b].numLiveTriangles)return++b-1;++b}return-1}(i,n,o):u}if(!F.defined(t))throw new M.DeveloperError("indices is required.");var n=t.length;if(n<3||n%3!=0)throw new M.DeveloperError("indices length must be a multiple of three.");if(r<=0)throw new M.DeveloperError("maximumIndex must be greater than zero.");if(i<3)throw new M.DeveloperError("cacheSize must be greater than two.");var o=0,s=0,u=t[s],p=n;if(F.defined(r))o=r+1;else{for(;s<p;)o<u&&(o=u),u=t[++s];if(-1===o)return 0;++o}for(var d=[],l=0;l<o;l++)d[l]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};for(var f=s=0;s<p;)d[t[s]].vertexTriangles.push(f),++d[t[s]].numLiveTriangles,d[t[s+1]].vertexTriangles.push(f),++d[t[s+1]].numLiveTriangles,d[t[s+2]].vertexTriangles.push(f),++d[t[s+2]].numLiveTriangles,++f,s+=3;var v,m,y,c,h=0,C=i+1,b=1,w=[],g=[],T=0,A=[],E=n/3,D=[];for(l=0;l<E;l++)D[l]=!1;for(;-1!==h;){w=[],c=(m=d[h]).vertexTriangles.length;for(var x=0;x<c;++x)if(!D[f=m.vertexTriangles[x]]){D[f]=!0,s=f+f+f;for(var P=0;P<3;++P)y=t[s],w.push(y),g.push(y),A[T]=y,++T,--(v=d[y]).numLiveTriangles,C-v.timeStamp>i&&(v.timeStamp=C,++C),++s}h=a(0,i,w,d,C,g,o)}return A};var t={};function s(e,t,r,i,a){e[t++]=r,e[t++]=i,e[t++]=i,e[t++]=a,e[t++]=a,e[t]=r}function m(e){var t,r,i={};for(t in e){e.hasOwnProperty(t)&&F.defined(e[t])&&F.defined(e[t].values)&&(r=e[t],i[t]=new R.GeometryAttribute({componentDatatype:r.componentDatatype,componentsPerAttribute:r.componentsPerAttribute,normalize:r.normalize,values:[]}))}return i}t.toWireframe=function(e){if(!F.defined(e))throw new M.DeveloperError("geometry is required.");var t=e.indices;if(F.defined(t)){switch(e.primitiveType){case R.PrimitiveType.TRIANGLES:e.indices=function(e){for(var t=e.length,r=t/3*6,i=x.IndexDatatype.createTypedArray(t,r),a=0,n=0;n<t;n+=3,a+=6)s(i,a,e[n],e[n+1],e[n+2]);return i}(t);break;case R.PrimitiveType.TRIANGLE_STRIP:e.indices=function(e){var t=e.length;if(3<=t){var r=6*(t-2),i=x.IndexDatatype.createTypedArray(t,r);s(i,0,e[0],e[1],e[2]);for(var a=6,n=3;n<t;++n,a+=6)s(i,a,e[n-1],e[n],e[n-2]);return i}return new Uint16Array}(t);break;case R.PrimitiveType.TRIANGLE_FAN:e.indices=function(e){if(0<e.length){for(var t=e.length-1,r=6*(t-1),i=x.IndexDatatype.createTypedArray(t,r),a=e[0],n=0,o=1;o<t;++o,n+=6)s(i,n,a,e[o],e[o+1]);return i}return new Uint16Array}(t);break;default:throw new M.DeveloperError("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}e.primitiveType=R.PrimitiveType.LINES}return e},t.createLineSegmentsForVectors=function(e,t,r){if(t=F.defaultVal