0?P.COUNTER_CLOCKWISE:P.CLOCKWISE},triangulate:function(e,n){const r=t.Cartesian2.packArray(e);return o(r,n,2)}},U=new t.Cartesian3,_=new t.Cartesian3,K=new t.Cartesian3,V=new t.Cartesian3,k=new t.Cartesian3,q=new t.Cartesian3,F=new t.Cartesian3;N.computeSubdivision=function(e,n,a,x){x=i.defaultValue(x,r.CesiumMath.RADIANS_PER_DEGREE);const o=a.slice(0);let s;const p=n.length,l=new Array(3*p);let h=0;for(s=0;s0;){const e=o.pop(),n=o.pop(),r=o.pop(),a=t.Cartesian3.fromArray(l,3*r,U),u=t.Cartesian3.fromArray(l,3*n,_),x=t.Cartesian3.fromArray(l,3*e,K),p=t.Cartesian3.multiplyByScalar(t.Cartesian3.normalize(a,V),c,V),h=t.Cartesian3.multiplyByScalar(t.Cartesian3.normalize(u,k),c,k),v=t.Cartesian3.multiplyByScalar(t.Cartesian3.normalize(x,q),c,q),m=t.Cartesian3.magnitudeSquared(t.Cartesian3.subtract(p,h,F)),C=t.Cartesian3.magnitudeSquared(t.Cartesian3.subtract(h,v,F)),g=t.Cartesian3.magnitudeSquared(t.Cartesian3.subtract(v,p,F)),w=Math.max(m,C,g);let E,b;w>d?m===w?(E=`${Math.min(r,n)} ${Math.max(r,n)}`,s=y[E],i.defined(s)||(b=t.Cartesian3.add(a,u,F),t.Cartesian3.multiplyByScalar(b,.5,b),l.push(b.x,b.y,b.z),s=l.length/3-1,y[E]=s),o.push(r,s,e),o.push(s,n,e)):C===w?(E=`${Math.min(n,e)} ${Math.max(n,e)}`,s=y[E],i.defined(s)||(b=t.Cartesian3.add(u,x,F),t.Cartesian3.multiplyByScalar(b,.5,b),l.push(b.x,b.y,b.z),s=l.length/3-1,y[E]=s),o.push(n,s,r),o.push(s,e,r)):g===w&&(E=`${Math.min(e,r)} ${Math.max(e,r)}`,s=y[E],i.defined(s)||(b=t.Cartesian3.add(x,a,F),t.Cartesian3.multiplyByScalar(b,.5,b),l.push(b.x,b.y,b.z),s=l.length/3-1,y[E]=s),o.push(e,s,n),o.push(s,r,n)):(f.push(r),f.push(n),f.push(e))}return new u.Geometry({attributes:{position:new u.GeometryAttribute({componentDatatype:r.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:l})},indices:f,primitiveType:u.PrimitiveType.TRIANGLES})};const j=new t.Cartographic,H=new t.Cartographic,J=new t.Cartographic,Q=new t.Cartographic;N.computeRhumbLineSubdivision=function(e,n,x,o){o=i.defaultValue(o,r.CesiumMath.RADIANS_PER_DEGREE);const s=x.slice(0);let p;const l=n.length,h=new Array(3*l);let f=0;for(p=0;p0;){const n=s.pop(),r=s.pop(),a=s.pop(),u=t.Cartesian3.fromArray(h,3*a,U),x=t.Cartesian3.fromArray(h,3*r,_),o=t.Cartesian3.fromArray(h,3*n,K),l=e.cartesianToCartographic(u,j),f=e.cartesianToCartographic(x,H),v=e.cartesianToCartographic(o,J);m.setEndPoints(l,f);const w=m.surfaceDistance;C.setEndPoints(f,v);const E=C.surfaceDistance;g.setEndPoints(v,l);const b=g.surfaceDistance,M=Math.max(w,E,b);let Z,S,A,z;M>d?w===M?(Z=`${Math.min(a,r)} ${Math.max(a,r)}`,p=c[Z],i.defined(p)||(S=m.interpolateUsingFraction(.5,Q),A=.5*(l.height+f.height),z=t.Cartesian3.fromRadians(S.longitude,S.latitude,A,e,F),h.push(z.x,z.y,z.z),p=h.length/3-1,c[Z]=p),s.push(a,p,n),s.push(p,r,n)):E===M?(Z=`${Math.min(r,n)} ${Math.max(r,n)}`,p=c[Z],i.defined(p)||(S=C.interpolateUsingFraction(.5,Q),A=.5*(f.height+v.height),z=t.Cartesian3.fromRadians(S.longitude,S.latitude,A,e,F),h.push(z.x,z.y,z.z),p=h.length/3-1,c[Z]=p),s.push(r,p,a),s.push(p,n,a)):b===M&&(Z=`${Math.min(n,a)} ${Math.max(n,a)}`,p=c[Z],i.defined(p)||(S=g.interpolateUsingFraction(.5,Q),A=.5*(v.height+l.height),z=t.Cartesian3.fromRadians(S.longitude,S.latitude,A,e,F),h.push(z.x,z.y,z.z),p=h.length/3-1,c[Z]=p),s.push(n,p,r),s.push(p,a,r)):(y.push(a),y.push(r),y.push(n))}return new u.Geometry({attributes:{position:new u.GeometryAttribute({componentDatatype:r.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:h})},indices:y,primitiveType:u.PrimitiveType.TRIANGLES})},N.scaleToGeodeticHeight=function(e,n,r,a){r=i.defaultValue(r,t.Ellipsoid.WGS84);let u=I,x=B;if(n=i.defaultValue(n,0),a=i.defaultValue(a,!0),i.defined(e)){const i=e.length;for(let o=0;o