define(["./defaultValue-abec0268","./Matrix3-2b60b40d","./ArcType-dbe7fddd","./BoundingRectangle-476158f4","./Transforms-98e4fe15","./Matrix2-9599853a","./ComponentDatatype-565a8190","./EllipsoidGeodesic-53f26b06","./EllipsoidTangentPlane-307bae3d","./GeometryAttribute-2634d326","./GeometryInstance-73e4a99f","./GeometryOffsetAttribute-82d57e99","./GeometryPipeline-81e2a5c7","./IndexDatatype-5f9fa3ed","./Math-a56d1479","./PolygonGeometryLibrary-edbb1353","./PolygonPipeline-12e5f093","./VertexFormat-d813e77b","./combine-7a07cedd","./RuntimeError-279c39be","./WebGLConstants-292d99ef","./AxisAlignedBoundingBox-9efb5e58","./IntersectionTests-51d114e6","./Plane-1c708c34","./AttributeCompression-8346a48c","./EncodedCartesian3-2091852c","./arrayRemoveDuplicates-a4e37a99","./EllipsoidRhumbLine-a3c0be77","./GeometryAttributes-50483cde"],(function(e,t,o,r,i,n,a,s,l,u,c,p,d,y,m,g,h,f,b,_,P,C,x,w,T,A,I,v,E){"use strict";const G=new t.Cartographic,O=new t.Cartographic;function L(e,t,o,r){const i=r.cartesianToCartographic(e,G).height,n=r.cartesianToCartographic(t,O);n.height=i,r.cartographicToCartesian(n,t);const a=r.cartesianToCartographic(o,O);a.height=i-100,r.cartographicToCartesian(a,o)}const V=new r.BoundingRectangle,D=new t.Cartesian3,H=new t.Cartesian3,F=new t.Cartesian3,N=new t.Cartesian3,R=new t.Cartesian3,M=new t.Cartesian3;let S=new t.Cartesian3,B=new t.Cartesian3,k=new t.Cartesian3;const z=new n.Cartesian2,W=new n.Cartesian2,Y=new t.Cartesian3,U=new i.Quaternion,j=new t.Matrix3,Q=new t.Matrix3;function q(o){const r=o.vertexFormat,s=o.geometry,l=o.shadowVolume,c=s.attributes.position.values,d=e.defined(s.attributes.st)?s.attributes.st.values:void 0;let y=c.length;const g=o.wall,h=o.top||g,f=o.bottom||g;if(r.st||r.normal||r.tangent||r.bitangent||l){const p=o.boundingRectangle,b=o.tangentPlane,_=o.ellipsoid,P=o.stRotation,C=o.perPositionHeight,x=z;x.x=p.x,x.y=p.y;const w=r.st?new Float32Array(y/3*2):void 0,T=new Float32Array(y/3);let A,I=0;r.normal&&(A=C&&h&&!g?s.attributes.normal.values:new Float32Array(y));const v=r.tangent?new Float32Array(y):void 0,E=r.bitangent?new Float32Array(y):void 0,G=l?new Float32Array(y):void 0;let O=0,V=0,q=H,K=F,Z=N,J=!0,X=j,$=Q;if(0!==P){let e=i.Quaternion.fromAxisAngle(b._plane.normal,P,U);X=t.Matrix3.fromQuaternion(e,X),e=i.Quaternion.fromAxisAngle(b._plane.normal,-P,U),$=t.Matrix3.fromQuaternion(e,$)}else X=t.Matrix3.clone(t.Matrix3.IDENTITY,X),$=t.Matrix3.clone(t.Matrix3.IDENTITY,$);let ee=0,te=0;h&&f&&(ee=y/2,te=y/3,y/=2);for(let i=0;iJ.eastOverIDL-J.westOverIDL&&(l.west=J.westOverIDL,l.east=J.eastOverIDL,l.east>m.CesiumMath.PI&&(l.east=l.east-m.CesiumMath.TWO_PI),l.west>m.CesiumMath.PI&&(l.west=l.west-m.CesiumMath.TWO_PI)),l}const ee=new t.Cartographic;function te(e,t,o,r){const i=e.surfaceDistance,n=Math.ceil(i*t),a=n>0?i/(n-1):Number.POSITIVE_INFINITY;let s=0;for(let t=0;t=0?i:i+m.CesiumMath.TWO_PI;r.westOverIDL=Math.min(r.westOverIDL,l),r.eastOverIDL=Math.max(r.eastOverIDL,l)}}const oe=[];function re(t,o,r,i,n,a,s,u,p,d){const m={walls:[]};let f;if(s||u){const n=g.PolygonGeometryLibrary.createGeometryFromPositions(t,o,r,i,a,p,d),l=n.attributes.position.values,h=n.indices;let b,_;if(s&&u){const t=l.concat(l);b=t.length/3,_=y.IndexDatatype.createTypedArray(b,2*h.length),_.set(h);const o=h.length,i=b/2;for(f=0;f