4x/irrigation-monitoring-platf.../public/Cesium/Workers/createPolygonGeometry.js

2 lines
15 KiB
JavaScript
Raw Permalink Normal View History

2024-12-26 19:24:07 +08:00
define(["./when-4bbc8319","./Matrix2-9aa31791","./ArcType-98ec98bf","./GeometryOffsetAttribute-1772960d","./BoundingRectangle-218a9c7b","./Transforms-d13cc04e","./RuntimeError-346a3079","./ComponentDatatype-93750d1a","./EllipsoidGeodesic-dd8f2afb","./EllipsoidTangentPlane-eecce7e8","./GeometryAttribute-43536dc0","./GeometryInstance-47b34185","./GeometryPipeline-b1a36b18","./IndexDatatype-b7d979a6","./PolygonGeometryLibrary-db856445","./PolygonPipeline-da7fc5ca","./VertexFormat-71718faa","./combine-83860057","./WebGLConstants-1c8239cc","./AxisAlignedBoundingBox-07c6b7f2","./IntersectionTests-96a04219","./Plane-318d6937","./AttributeCompression-af389d04","./EncodedCartesian3-f286cedc","./arrayRemoveDuplicates-18786327","./EllipsoidRhumbLine-30c47ff4","./GeometryAttributes-7827a6c2"],(function(e,t,r,a,o,i,n,s,l,u,c,p,m,y,g,d,h,f,v,b,_,P,x,w,C,T,I){"use strict";var A=new t.Cartographic,E=new t.Cartographic;function G(e,t,r,a){var o=a.cartesianToCartographic(e,A).height,i=a.cartesianToCartographic(t,E);i.height=o,a.cartographicToCartesian(i,t);var n=a.cartesianToCartographic(r,E);n.height=o-100,a.cartographicToCartesian(n,r)}var O=new o.BoundingRectangle,V=new t.Cartesian3,F=new t.Cartesian3,D=new t.Cartesian3,L=new t.Cartesian3,N=new t.Cartesian3,H=new t.Cartesian3,R=new t.Cartesian3,M=new t.Cartesian3,S=new t.Cartesian3,B=new t.Cartesian2,k=new t.Cartesian2,z=new t.Cartesian3,W=new i.Quaternion,Y=new t.Matrix3,U=new t.Matrix3;function j(r){var o=r.vertexFormat,n=r.geometry,l=r.shadowVolume,u=n.attributes.position.values,p=u.length,m=r.wall,y=r.top||m,g=r.bottom||m;if(o.st||o.normal||o.tangent||o.bitangent||l){var d=r.boundingRectangle,h=r.tangentPlane,f=r.ellipsoid,v=r.stRotation,b=r.perPositionHeight,_=B;_.x=d.x,_.y=d.y;var P,x=o.st?new Float32Array(p/3*2):void 0;o.normal&&(P=b&&y&&!m?n.attributes.normal.values:new Float32Array(p));var w=o.tangent?new Float32Array(p):void 0,C=o.bitangent?new Float32Array(p):void 0,T=l?new Float32Array(p):void 0,I=0,A=0,E=F,O=D,j=L,Q=!0,q=Y,K=U;if(0!==v){var Z=i.Quaternion.fromAxisAngle(h._plane.normal,v,W);q=t.Matrix3.fromQuaternion(Z,q),Z=i.Quaternion.fromAxisAngle(h._plane.normal,-v,W),K=t.Matrix3.fromQuaternion(Z,K)}else q=t.Matrix3.clone(t.Matrix3.IDENTITY,q),K=t.Matrix3.clone(t.Matrix3.IDENTITY,K);var J=0,X=0;y&&g&&(J=p/2,X=p/3,p/=2);for(var $=0;$<p;$+=3){var ee=t.Cartesian3.fromArray(u,$,z);if(o.st){var te=t.Matrix3.multiplyByVector(q,ee,V);te=f.scaleToGeodeticSurface(te,te);var re=h.projectPointOntoPlane(te,k);t.Cartesian2.subtract(re,_,re);var ae=s.CesiumMath.clamp(re.x/d.width,0,1),oe=s.CesiumMath.clamp(re.y/d.height,0,1);g&&(x[I+X]=ae,x[I+1+X]=oe),y&&(x[I]=ae,x[I+1]=oe),I+=2}if(o.normal||o.tangent||o.bitangent||l){var ie=A+1,ne=A+2;if(m){if($+3<p){var se=t.Cartesian3.fromArray(u,$+3,N);if(Q){var le=t.Cartesian3.fromArray(u,$+p,H);b&&G(ee,se,le,f),t.Cartesian3.subtract(se,ee,se),t.Cartesian3.subtract(le,ee,le),E=t.Cartesian3.normalize(t.Cartesian3.cross(le,se,E),E),Q=!1}t.Cartesian3.equalsEpsilon(se,ee,s.CesiumMath.EPSILON10)&&(Q=!0)}(o.tangent||o.bitangent)&&(j=f.geodeticSurfaceNormal(ee,j),o.tangent&&(O=t.Cartesian3.normalize(t.Cartesian3.cross(j,E,O),O)))}else E=f.geodeticSurfaceNormal(ee,E),(o.tangent||o.bitangent)&&(b&&(R=t.Cartesian3.fromArray(P,A,R),M=t.Cartesian3.cross(t.Cartesian3.UNIT_Z,R,M),M=t.Cartesian3.normalize(t.Matrix3.multiplyByVector(K,M,M),M),o.bitangent&&(S=t.Cartesian3.normalize(t.Cartesian3.cross(R,M,S),S))),O=t.Cartesian3.cross(t.Cartesian3.UNIT_Z,E,O),O=t.Cartesian3.normalize(t.Matrix3.multiplyByVector(K,O,O),O),o.bitangent&&(j=t.Cartesian3.normalize(t.Cartesian3.cross(E,O,j),j)));o.normal&&(r.wall?(P[A+J]=E.x,P[ie+J]=E.y,P[ne+J]=E.z):g&&(P[A+J]=-E.x,P[ie+J]=-E.y,P[ne+J]=-E.z),(y&&!b||m)&&(P[A]=E.x,P[ie]=E.y,P[ne]=E.z)),l&&(m&&(E=f.geodeticSurfaceNormal(ee,E)),T[A+J]=-E.x,T[ie+J]=-E.y,T[ne+J]=-E.z),o.tangent&&(r.wall?(w[A+J]=O.x,w[ie+J]=O.y,w[ne+J]=O.z):g&&(w[A+J]=-O.x,w[ie+J]=-O.y,w[ne+J]=-O.z),y&&(b?(w[A]=M.x,w[ie]=M.y,w[ne]=M.z):(w[A]=O.x,w[ie]=O.y,w[ne]=O.z))),o.bitangent&&(g&&(C[A+J]=j.x,C[ie+J]=j.y,C[ne+J]=j.z),y&&(b?(C[A]=S.x,C[ie]=S.y,C[ne]=S.z):(