define(["./defaultValue-94c3e563","./Matrix2-fc7e9822","./ArcType-0cf52f8c","./BoundingRectangle-d5f7d679","./Transforms-3ac41eb6","./RuntimeError-c581ca93","./ComponentDatatype-4a60b8d6","./EllipsoidGeodesic-dc94f381","./EllipsoidTangentPlane-53e32153","./GeometryAttribute-a441ff32","./GeometryInstance-97bd792f","./GeometryOffsetAttribute-ec11b721","./GeometryPipeline-a88e5bfc","./IndexDatatype-db156785","./PolygonGeometryLibrary-5dd81ed2","./PolygonPipeline-113e3161","./VertexFormat-e46f29d6","./_commonjsHelpers-3aae1032-f55dc0c4","./combine-761d9c3f","./WebGLConstants-7dccdc96","./AxisAlignedBoundingBox-7a3018c0","./IntersectionTests-68fbc42d","./Plane-e20fba8c","./AttributeCompression-4d18cc04","./EncodedCartesian3-d3e254ea","./arrayRemoveDuplicates-06991c15","./EllipsoidRhumbLine-daebc75b","./GeometryAttributes-7df9bef6"],(function(e,t,o,r,i,n,a,s,l,c,u,p,d,y,g,m,h,f,b,_,C,P,x,T,w,A,I,E){"use strict";const v=new t.Cartographic,G=new t.Cartographic;function O(e,t,o,r){const i=r.cartesianToCartographic(e,v),n=i.height,a=r.cartesianToCartographic(t,G);a.height=n,r.cartographicToCartesian(a,t);const s=r.cartesianToCartographic(o,G);s.height=n-100,r.cartographicToCartesian(s,o)}const H=new r.BoundingRectangle,D=new t.Cartesian3,V=new t.Cartesian3,L=new t.Cartesian3,N=new t.Cartesian3,F=new t.Cartesian3,R=new t.Cartesian3;let M=new t.Cartesian3,k=new t.Cartesian3,S=new t.Cartesian3;const B=new t.Cartesian2,z=new t.Cartesian2,U=new t.Cartesian3,W=new i.Quaternion,Y=new t.Matrix3,j=new t.Matrix3;function Q(o){const r=o.vertexFormat,n=o.geometry,s=o.shadowVolume,l=n.attributes.position.values,u=e.defined(n.attributes.st)?n.attributes.st.values:void 0;let d=l.length;const y=o.wall,g=o.top||y,m=o.bottom||y;if(r.st||r.normal||r.tangent||r.bitangent||s){const p=o.boundingRectangle,h=o.tangentPlane,f=o.ellipsoid,b=o.stRotation,_=o.perPositionHeight,C=B;C.x=p.x,C.y=p.y;const P=r.st?new Float32Array(d/3*2):void 0;let x;r.normal&&(x=_&&g&&!y?n.attributes.normal.values:new Float32Array(d));const T=r.tangent?new Float32Array(d):void 0,w=r.bitangent?new Float32Array(d):void 0,A=s?new Float32Array(d):void 0;let I=0,E=0,v=V,G=L,H=N,Q=!0,q=Y,K=j;if(0!==b){let e=i.Quaternion.fromAxisAngle(h._plane.normal,b,W);q=t.Matrix3.fromQuaternion(e,q),e=i.Quaternion.fromAxisAngle(h._plane.normal,-b,W),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;g&&m&&(Z=d/2,J=d/3,d/=2);for(let i=0;iZ.eastOverIDL-Z.westOverIDL&&(c.west=Z.westOverIDL,c.east=Z.eastOverIDL,c.east>a.CesiumMath.PI&&(c.east=c.east-a.CesiumMath.TWO_PI),c.west>a.CesiumMath.PI&&(c.west=c.west-a.CesiumMath.TWO_PI)),c}const $=new t.Cartographic;function ee(e,t,o,r){const i=e.surfaceDistance,n=Math.ceil(i*t),s=n>0?i/(n-1):Number.POSITIVE_INFINITY;let l=0;for(let c=0;c=0?i:i+a.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,c,p,d){const h={walls:[]};let f;if(s||c){const n=g.PolygonGeometryLibrary.createGeometryFromPositions(t,o,r,i,a,p,d),l=n.attributes.position.values,m=n.indices;let b,_;if(s&&c){const t=l.concat(l);b=t.length/3,_=y.IndexDatatype.createTypedArray(b,2*m.length),_.set(m);const o=m.length,i=b/2;for(f=0;f