define(["./defaultValue-69ee94f4","./Matrix2-1ba2543c","./ArcType-e1641d8d","./GeometryOffsetAttribute-4d39b441","./BoundingRectangle-e2b9571d","./Transforms-3afcc791","./RuntimeError-ac440aa5","./ComponentDatatype-07fbb0d4","./EllipsoidGeodesic-1ab9765d","./EllipsoidTangentPlane-d431886c","./GeometryAttribute-ad6fe63d","./GeometryInstance-5555f2e4","./GeometryPipeline-58ed3258","./IndexDatatype-0b020dfb","./PolygonGeometryLibrary-cc36562e","./PolygonPipeline-b1cbbe6f","./VertexFormat-e68722dd","./_commonjsHelpers-3aae1032-15991586","./combine-0259f56f","./WebGLConstants-f63312fc","./AxisAlignedBoundingBox-e89a3bd3","./IntersectionTests-c9a542c8","./Plane-faef0199","./AttributeCompression-4c4a8822","./EncodedCartesian3-8da855cc","./arrayRemoveDuplicates-7d5d09a3","./EllipsoidRhumbLine-001b8738","./GeometryAttributes-1b4134a9"],(function(e,t,o,r,i,n,a,s,l,c,u,d,p,y,m,g,h,f,b,_,P,C,x,w,T,I,A,v){"use strict";const E=new t.Cartographic,G=new t.Cartographic;function O(e,t,o,r){const i=r.cartesianToCartographic(e,E).height,n=r.cartesianToCartographic(t,G);n.height=i,r.cartographicToCartesian(n,t);const a=r.cartesianToCartographic(o,G);a.height=i-100,r.cartographicToCartesian(a,o)}const L=new i.BoundingRectangle,V=new t.Cartesian3,F=new t.Cartesian3,H=new t.Cartesian3,D=new t.Cartesian3,N=new t.Cartesian3,R=new t.Cartesian3;let M=new t.Cartesian3,S=new t.Cartesian3,B=new t.Cartesian3;const k=new t.Cartesian2,z=new t.Cartesian2,W=new t.Cartesian3,Y=new n.Quaternion,U=new t.Matrix3,j=new t.Matrix3;function Q(o){const i=o.vertexFormat,a=o.geometry,l=o.shadowVolume,c=a.attributes.position.values,d=e.defined(a.attributes.st)?a.attributes.st.values:void 0;let p=c.length;const y=o.wall,m=o.top||y,g=o.bottom||y;if(i.st||i.normal||i.tangent||i.bitangent||l){const r=o.boundingRectangle,h=o.tangentPlane,f=o.ellipsoid,b=o.stRotation,_=o.perPositionHeight,P=k;P.x=r.x,P.y=r.y;const C=i.st?new Float32Array(p/3*2):void 0;let x;i.normal&&(x=_&&m&&!y?a.attributes.normal.values:new Float32Array(p));const w=i.tangent?new Float32Array(p):void 0,T=i.bitangent?new Float32Array(p):void 0,I=l?new Float32Array(p):void 0;let A=0,v=0,E=F,G=H,L=D,Q=!0,q=U,K=j;if(0!==b){let e=n.Quaternion.fromAxisAngle(h._plane.normal,b,Y);q=t.Matrix3.fromQuaternion(e,q),e=n.Quaternion.fromAxisAngle(h._plane.normal,-b,Y),K=t.Matrix3.fromQuaternion(e,K)}else q=t.Matrix3.clone(t.Matrix3.IDENTITY,q),K=t.Matrix3.clone(t.Matrix3.IDENTITY,K);let Z=0,J=0;m&&g&&(Z=p/2,J=p/3,p/=2);for(let n=0;nZ.eastOverIDL-Z.westOverIDL&&(c.west=Z.westOverIDL,c.east=Z.eastOverIDL,c.east>s.CesiumMath.PI&&(c.east=c.east-s.CesiumMath.TWO_PI),c.west>s.CesiumMath.PI&&(c.west=c.west-s.CesiumMath.TWO_PI)),c}const $=new t.Cartographic;function ee(e,t,o,r){const i=e.surfaceDistance,n=Math.ceil(i*t),a=n>0?i/(n-1):Number.POSITIVE_INFINITY;let l=0;for(let t=0;t=0?i:i+s.CesiumMath.TWO_PI;r.westOverIDL=Math.min(r.westOverIDL,c),r.eastOverIDL=Math.max(r.eastOverIDL,c)}}const te=[];function oe(t,o,r,i,n,a,s,l,u,p){const h={walls:[]};let f;if(s||l){const n=m.PolygonGeometryLibrary.createGeometryFromPositions(t,o,r,i,a,u,p),c=n.attributes.position.values,g=n.indices;let b,_;if(s&&l){const t=c.concat(c);b=t.length/3,_=y.IndexDatatype.createTypedArray(b,2*g.length),_.set(g);const o=g.length,i=b/2;for(f=0;f