define(["./defaultValue-f6d5e6da","./Matrix3-f420af38","./ArcType-26a3f38d","./BoundingRectangle-db6e4466","./Transforms-ef48b970","./Matrix2-69530458","./ComponentDatatype-ab629b88","./EllipsoidGeodesic-273d4ae2","./EllipsoidTangentPlane-312cf901","./GeometryAttribute-ac3ada2c","./GeometryInstance-f4883896","./GeometryOffsetAttribute-2579b8d2","./GeometryPipeline-eff5c7a6","./IndexDatatype-a9b1bc18","./Math-355606c6","./PolygonGeometryLibrary-da73f4c8","./PolygonPipeline-3ee3239c","./VertexFormat-fbdec922","./combine-0c102d93","./RuntimeError-9b4ce3fb","./WebGLConstants-7f557f93","./AxisAlignedBoundingBox-817cca2a","./IntersectionTests-36dc9259","./Plane-a470374c","./AttributeCompression-913aafb2","./EncodedCartesian3-d30ed3f7","./arrayRemoveDuplicates-0d8dde26","./EllipsoidRhumbLine-40cccc3b","./GeometryAttributes-1e4ddcd2"],(function(t,e,o,r,i,n,a,s,l,u,c,p,y,m,d,g,h,f,b,_,P,C,x,w,A,T,I,v,E){"use strict";const G=new e.Cartographic,O=new e.Cartographic;function L(t,e,o,r){const i=r.cartesianToCartographic(t,G).height,n=r.cartesianToCartographic(e,O);n.height=i,r.cartographicToCartesian(n,e);const a=r.cartesianToCartographic(o,O);a.height=i-100,r.cartographicToCartesian(a,o)}const V=new r.BoundingRectangle,D=new e.Cartesian3,H=new e.Cartesian3,F=new e.Cartesian3,N=new e.Cartesian3,R=new e.Cartesian3,M=new e.Cartesian3;let S=new e.Cartesian3,B=new e.Cartesian3,k=new e.Cartesian3;const z=new n.Cartesian2,W=new n.Cartesian2,Y=new e.Cartesian3,U=new i.Quaternion,j=new e.Matrix3,Q=new e.Matrix3;function q(o){const r=o.vertexFormat,s=o.geometry,l=o.shadowVolume,c=s.attributes.position.values,y=t.defined(s.attributes.st)?s.attributes.st.values:void 0;let m=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(m/3*2):void 0,A=new Float32Array(m/3);let T,I=0;r.normal&&(T=C&&h&&!g?s.attributes.normal.values:new Float32Array(m));const v=r.tangent?new Float32Array(m):void 0,E=r.bitangent?new Float32Array(m):void 0,G=l?new Float32Array(m):void 0;let O=0,V=0,q=H,K=F,Z=N,J=!0,X=j,$=Q;if(0!==P){let t=i.Quaternion.fromAxisAngle(b._plane.normal,P,U);X=e.Matrix3.fromQuaternion(t,X),t=i.Quaternion.fromAxisAngle(b._plane.normal,-P,U),$=e.Matrix3.fromQuaternion(t,$)}else X=e.Matrix3.clone(e.Matrix3.IDENTITY,X),$=e.Matrix3.clone(e.Matrix3.IDENTITY,$);let tt=0,et=0;h&&f&&(tt=m/2,et=m/3,m/=2);for(let i=0;iJ.eastOverIDL-J.westOverIDL&&(l.west=J.westOverIDL,l.east=J.eastOverIDL,l.east>d.CesiumMath.PI&&(l.east=l.east-d.CesiumMath.TWO_PI),l.west>d.CesiumMath.PI&&(l.west=l.west-d.CesiumMath.TWO_PI)),l}const tt=new e.Cartographic;function et(t,e,o,r){const i=t.surfaceDistance,n=Math.ceil(i*e),a=n>0?i/(n-1):Number.POSITIVE_INFINITY;let s=0;for(let e=0;e=0?i:i+d.CesiumMath.TWO_PI;r.westOverIDL=Math.min(r.westOverIDL,l),r.eastOverIDL=Math.max(r.eastOverIDL,l)}}const ot=[];function rt(e,o,r,i,n,a,s,u,p,y){const d={walls:[]};let f;if(s||u){const n=g.PolygonGeometryLibrary.createGeometryFromPositions(e,o,r,i,a,p,y),l=n.attributes.position.values,h=n.indices;let b,_;if(s&&u){const e=l.concat(l);b=e.length/3,_=m.IndexDatatype.createTypedArray(b,2*h.length),_.set(h);const o=h.length,i=b/2;for(f=0;f