| 1 |
- import{a as Q}from"./chunk-VETUMSV6.js";import{g as ee,n as te,o as ne}from"./chunk-K2IDXOCV.js";import{a as Y}from"./chunk-JX5O4HI2.js";import{a as J}from"./chunk-ZRLECQ27.js";import{a as ce}from"./chunk-FEOWMVRK.js";import{a as le}from"./chunk-CUQT2UK5.js";import{a,c as d}from"./chunk-I46SWINN.js";import{a as _}from"./chunk-LNIYJJXS.js";import{a as I}from"./chunk-4D2ERGZX.js";import{a as b}from"./chunk-EDZQSM3T.js";import{a as F}from"./chunk-NUC3LT2W.js";var re={CLOCKWISE:J.CW,COUNTER_CLOCKWISE:J.CCW,NONE:J.NONE,validate:function(e){return e===re.CLOCKWISE||e===re.COUNTER_CLOCKWISE}},ue=Object.freeze(re);function ie(e,n,t=2){let f=n&&n.length,u=f?n[0]*t:e.length,r=se(e,0,u,t,!0),o=[];if(!r||r.next===r.prev)return o;let i,x,c;if(f&&(r=Ae(e,n,r,t)),e.length>80*t){i=1/0,x=1/0;let y=-1/0,v=-1/0;for(let S=t;S<u;S+=t){let E=e[S],h=e[S+1];E<i&&(i=E),h<x&&(x=h),E>y&&(y=E),h>v&&(v=h)}c=Math.max(y-i,v-x),c=c!==0?32767/c:0}return V(r,o,t,i,x,c,0),o}function se(e,n,t,f,u){let r;if(u===We(e,n,t,f)>0)for(let o=n;o<t;o+=f)r=ae(o/f|0,e[o],e[o+1],r);else for(let o=t-f;o>=n;o-=f)r=ae(o/f|0,e[o],e[o+1],r);return r&&B(r,r.next)&&(q(r),r=r.next),r}function N(e,n){if(!e)return e;n||(n=e);let t=e,f;do if(f=!1,!t.steiner&&(B(t,t.next)||w(t.prev,t,t.next)===0)){if(q(t),t=n=t.prev,t===t.next)break;f=!0}else t=t.next;while(f||t!==n);return n}function V(e,n,t,f,u,r,o){if(!e)return;!o&&r&&De(e,f,u,r);let i=e;for(;e.prev!==e.next;){let x=e.prev,c=e.next;if(r?be(e,f,u,r):Ee(e)){n.push(x.i,e.i,c.i),q(e),e=c.next,i=c.next;continue}if(e=c,e===i){o?o===1?(e=Oe(N(e),n),V(e,n,t,f,u,r,2)):o===2&&Ze(e,n,t,f,u,r):V(N(e),n,t,f,u,r,1);break}}}function Ee(e){let n=e.prev,t=e,f=e.next;if(w(n,t,f)>=0)return!1;let u=n.x,r=t.x,o=f.x,i=n.y,x=t.y,c=f.y,y=Math.min(u,r,o),v=Math.min(i,x,c),S=Math.max(u,r,o),E=Math.max(i,x,c),h=f.next;for(;h!==n;){if(h.x>=y&&h.x<=S&&h.y>=v&&h.y<=E&&K(u,i,r,x,o,c,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function be(e,n,t,f){let u=e.prev,r=e,o=e.next;if(w(u,r,o)>=0)return!1;let i=u.x,x=r.x,c=o.x,y=u.y,v=r.y,S=o.y,E=Math.min(i,x,c),h=Math.min(y,v,S),A=Math.max(i,x,c),M=Math.max(y,v,S),g=oe(E,h,n,t,f),m=oe(A,M,n,t,f),l=e.prevZ,s=e.nextZ;for(;l&&l.z>=g&&s&&s.z<=m;){if(l.x>=E&&l.x<=A&&l.y>=h&&l.y<=M&&l!==u&&l!==o&&K(i,y,x,v,c,S,l.x,l.y)&&w(l.prev,l,l.next)>=0||(l=l.prevZ,s.x>=E&&s.x<=A&&s.y>=h&&s.y<=M&&s!==u&&s!==o&&K(i,y,x,v,c,S,s.x,s.y)&&w(s.prev,s,s.next)>=0))return!1;s=s.nextZ}for(;l&&l.z>=g;){if(l.x>=E&&l.x<=A&&l.y>=h&&l.y<=M&&l!==u&&l!==o&&K(i,y,x,v,c,S,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;s&&s.z<=m;){if(s.x>=E&&s.x<=A&&s.y>=h&&s.y<=M&&s!==u&&s!==o&&K(i,y,x,v,c,S,s.x,s.y)&&w(s.prev,s,s.next)>=0)return!1;s=s.nextZ}return!0}function Oe(e,n){let t=e;do{let f=t.prev,u=t.next.next;!B(f,u)&&he(f,t,t.next,u)&&j(f,u)&&j(u,f)&&(n.push(f.i,t.i,u.i),q(t),q(t.next),t=e=u),t=t.next}while(t!==e);return N(t)}function Ze(e,n,t,f,u,r){let o=e;do{let i=o.next.next;for(;i!==o.prev;){if(o.i!==i.i&&Pe(o,i)){let x=pe(o,i);o=N(o,o.next),x=N(x,x.next),V(o,n,t,f,u,r,0),V(x,n,t,f,u,r,0);return}i=i.next}o=o.next}while(o!==e)}function Ae(e,n,t,f){let u=[];for(let r=0,o=n.length;r<o;r++){let i=n[r]*f,x=r<o-1?n[r+1]*f:e.length,c=se(e,i,x,f,!1);c===c.next&&(c.steiner=!0),u.push(ze(c))}u.sort(Ce);for(let r=0;r<u.length;r++)t=Le(u[r],t);return t}function Ce(e,n){let t=e.x-n.x;if(t===0&&(t=e.y-n.y,t===0)){let f=(e.next.y-e.y)/(e.next.x-e.x),u=(n.next.y-n.y)/(n.next.x-n.x);t=f-u}return t}function Le(e,n){let t=Fe(e,n);if(!t)return n;let f=pe(t,e);return N(f,f.next),N(t,t.next)}function Fe(e,n){let t=n,f=e.x,u=e.y,r=-1/0,o;if(B(e,t))return t;do{if(B(e,t.next))return t.next;if(u<=t.y&&u>=t.next.y&&t.next.y!==t.y){let v=t.x+(u-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(v<=f&&v>r&&(r=v,o=t.x<t.next.x?t:t.next,v===f))return o}t=t.next}while(t!==n);if(!o)return null;let i=o,x=o.x,c=o.y,y=1/0;t=o;do{if(f>=t.x&&t.x>=x&&f!==t.x&&ve(u<c?f:r,u,x,c,u<c?r:f,u,t.x,t.y)){let v=Math.abs(u-t.y)/(f-t.x);j(t,e)&&(v<y||v===y&&(t.x>o.x||t.x===o.x&&Te(o,t)))&&(o=t,y=v)}t=t.next}while(t!==i);return o}function Te(e,n){return w(e.prev,e,n.prev)<0&&w(n.next,e,e.next)<0}function De(e,n,t,f){let u=e;do u.z===0&&(u.z=oe(u.x,u.y,n,t,f)),u.prevZ=u.prev,u.nextZ=u.next,u=u.next;while(u!==e);u.prevZ.nextZ=null,u.prevZ=null,Re(u)}function Re(e){let n,t=1;do{let f=e,u;e=null;let r=null;for(n=0;f;){n++;let o=f,i=0;for(let c=0;c<t&&(i++,o=o.nextZ,!!o);c++);let x=t;for(;i>0||x>0&&o;)i!==0&&(x===0||!o||f.z<=o.z)?(u=f,f=f.nextZ,i--):(u=o,o=o.nextZ,x--),r?r.nextZ=u:e=u,u.prevZ=r,r=u;f=o}r.nextZ=null,t*=2}while(n>1);return e}function oe(e,n,t,f,u){return e=(e-t)*u|0,n=(n-f)*u|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e|n<<1}function ze(e){let n=e,t=e;do(n.x<t.x||n.x===t.x&&n.y<t.y)&&(t=n),n=n.next;while(n!==e);return t}function ve(e,n,t,f,u,r,o,i){return(u-o)*(n-i)>=(e-o)*(r-i)&&(e-o)*(f-i)>=(t-o)*(n-i)&&(t-o)*(r-i)>=(u-o)*(f-i)}function K(e,n,t,f,u,r,o,i){return!(e===o&&n===i)&&ve(e,n,t,f,u,r,o,i)}function Pe(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!Ie(e,n)&&(j(e,n)&&j(n,e)&&Ne(e,n)&&(w(e.prev,e,n.prev)||w(e,n.prev,n))||B(e,n)&&w(e.prev,e,e.next)>0&&w(n.prev,n,n.next)>0)}function w(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function B(e,n){return e.x===n.x&&e.y===n.y}function he(e,n,t,f){let u=X(w(e,n,t)),r=X(w(e,n,f)),o=X(w(t,f,e)),i=X(w(t,f,n));return!!(u!==r&&o!==i||u===0&&$(e,t,n)||r===0&&$(e,f,n)||o===0&&$(t,e,f)||i===0&&$(t,n,f))}function $(e,n,t){return n.x<=Math.max(e.x,t.x)&&n.x>=Math.min(e.x,t.x)&&n.y<=Math.max(e.y,t.y)&&n.y>=Math.min(e.y,t.y)}function X(e){return e>0?1:e<0?-1:0}function Ie(e,n){let t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&he(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function j(e,n){return w(e.prev,e,e.next)<0?w(e,n,e.next)>=0&&w(e,e.prev,n)>=0:w(e,n,e.prev)<0||w(e,e.next,n)<0}function Ne(e,n){let t=e,f=!1,u=(e.x+n.x)/2,r=(e.y+n.y)/2;do t.y>r!=t.next.y>r&&t.next.y!==t.y&&u<(t.next.x-t.x)*(r-t.y)/(t.next.y-t.y)+t.x&&(f=!f),t=t.next;while(t!==e);return f}function pe(e,n){let t=fe(e.i,e.x,e.y),f=fe(n.i,n.x,n.y),u=e.next,r=n.prev;return e.next=n,n.prev=e,t.next=u,u.prev=t,f.next=t,t.prev=f,r.next=f,f.prev=r,f}function ae(e,n,t,f){let u=fe(e,n,t);return f?(u.next=f.next,u.prev=f,f.next.prev=u,f.next=u):(u.prev=u,u.next=u),u}function q(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function fe(e,n,t){return{i:e,x:n,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function We(e,n,t,f){let u=0;for(let r=n,o=t-f;r<t;r+=f)u+=(e[o]-e[r])*(e[r+1]+e[o+1]),o=r;return u}var Ge=new a,Be=new a,T={};T.computeArea2D=function(e){b.defined("positions",e),b.typeOf.number.greaterThanOrEquals("positions.length",e.length,3);for(var n=e.length,t=0,f=n-1,u=0;u<n;f=u++){var r=e[f],o=e[u];t+=r.x*o.y-o.x*r.y}return t*.5};T.computeWindingOrder2D=function(e){var n=T.computeArea2D(e);return n>0?ue.COUNTER_CLOCKWISE:ue.CLOCKWISE};T.triangulate=function(e,n){b.defined("positions",e);var t=ce.packArray(e);return ie(t,n,2)};var we=new a,Se=new a,Me=new a,ye=new a,ge=new a,me=new a,L=new a;T.computeSubdivision=function(e,n,t,f,u){u=I(u,!1),f=I(f,_.RADIANS_PER_DEGREE),b.typeOf.object("ellipsoid",e),b.defined("positions",n),b.defined("indices",t),b.typeOf.number.greaterThanOrEquals("indices.length",t.length,3),b.typeOf.number.equals("indices.length % 3","0",t.length%3,0),b.typeOf.number.greaterThan("granularity",f,0);var r=t.slice(0),o,i=n.length,x=new Array(i*3),c=0;for(o=0;o<i;o++){var y=n[o];x[c++]=y.x,x[c++]=y.y,x[c++]=y.z}for(var v=[],S={},E=e.maximumRadius,h=_.chordLength(f,E),A=h*h;r.length>0;){var M=r.pop(),g=r.pop(),m=r.pop(),l=a.fromArray(x,m*3,we),s=a.fromArray(x,g*3,Se),W=a.fromArray(x,M*3,Me),H=u?l:a.multiplyByScalar(a.normalize(l,ye),E,ye),D=u?s:a.multiplyByScalar(a.normalize(s,ge),E,ge),R=u?W:a.multiplyByScalar(a.normalize(W,me),E,me),z=a.magnitudeSquared(a.subtract(H,D,L)),k=a.magnitudeSquared(a.subtract(D,R,L)),U=a.magnitudeSquared(a.subtract(R,H,L)),P=Math.max(z,k,U),O,p;P>A?z===P?(O=Math.min(m,g)+" "+Math.max(m,g),o=S[O],F(o)||(p=a.add(l,s,L),a.multiplyByScalar(p,.5,p),x.push(p.x,p.y,p.z),o=x.length/3-1,S[O]=o),r.push(m,o,M),r.push(o,g,M)):k===P?(O=Math.min(g,M)+" "+Math.max(g,M),o=S[O],F(o)||(p=a.add(s,W,L),a.multiplyByScalar(p,.5,p),x.push(p.x,p.y,p.z),o=x.length/3-1,S[O]=o),r.push(g,o,m),r.push(o,M,m)):U===P&&(O=Math.min(M,m)+" "+Math.max(M,m),o=S[O],F(o)||(p=a.add(W,l,L),a.multiplyByScalar(p,.5,p),x.push(p.x,p.y,p.z),o=x.length/3-1,S[O]=o),r.push(M,o,g),r.push(o,m,g)):(v.push(m),v.push(g),v.push(M))}return new te({attributes:{position:new ne({componentDatatype:Y.DOUBLE,componentsPerAttribute:3,values:x})},indices:v,primitiveType:ee.TRIANGLES})};var ke=new d,Ue=new d,_e=new d,xe=new d;T.computeRhumbLineSubdivision=function(e,n,t,f){f=I(f,_.RADIANS_PER_DEGREE),b.typeOf.object("ellipsoid",e),b.defined("positions",n),b.defined("indices",t),b.typeOf.number.greaterThanOrEquals("indices.length",t.length,3),b.typeOf.number.equals("indices.length % 3","0",t.length%3,0),b.typeOf.number.greaterThan("granularity",f,0);var u=t.slice(0),r,o=n.length,i=new Array(o*3),x=0;for(r=0;r<o;r++){var c=n[r];i[x++]=c.x,i[x++]=c.y,i[x++]=c.z}for(var y=[],v={},S=e.maximumRadius,E=_.chordLength(f,S),h=new Q(void 0,void 0,e),A=new Q(void 0,void 0,e),M=new Q(void 0,void 0,e);u.length>0;){var g=u.pop(),m=u.pop(),l=u.pop(),s=a.fromArray(i,l*3,we),W=a.fromArray(i,m*3,Se),H=a.fromArray(i,g*3,Me),D=e.cartesianToCartographic(s,ke),R=e.cartesianToCartographic(W,Ue),z=e.cartesianToCartographic(H,_e);h.setEndPoints(D,R);var k=h.surfaceDistance;A.setEndPoints(R,z);var U=A.surfaceDistance;M.setEndPoints(z,D);var P=M.surfaceDistance,O=Math.max(k,U,P),p,C,G,Z;O>E?k===O?(p=Math.min(l,m)+" "+Math.max(l,m),r=v[p],F(r)||(C=h.interpolateUsingFraction(.5,xe),G=(D.height+R.height)*.5,Z=a.fromRadians(C.longitude,C.latitude,G,e,L),i.push(Z.x,Z.y,Z.z),r=i.length/3-1,v[p]=r),u.push(l,r,g),u.push(r,m,g)):U===O?(p=Math.min(m,g)+" "+Math.max(m,g),r=v[p],F(r)||(C=A.interpolateUsingFraction(.5,xe),G=(R.height+z.height)*.5,Z=a.fromRadians(C.longitude,C.latitude,G,e,L),i.push(Z.x,Z.y,Z.z),r=i.length/3-1,v[p]=r),u.push(m,r,l),u.push(r,g,l)):P===O&&(p=Math.min(g,l)+" "+Math.max(g,l),r=v[p],F(r)||(C=M.interpolateUsingFraction(.5,xe),G=(z.height+D.height)*.5,Z=a.fromRadians(C.longitude,C.latitude,G,e,L),i.push(Z.x,Z.y,Z.z),r=i.length/3-1,v[p]=r),u.push(g,r,m),u.push(r,l,m)):(y.push(l),y.push(m),y.push(g))}return new te({attributes:{position:new ne({componentDatatype:Y.DOUBLE,componentsPerAttribute:3,values:i})},indices:y,primitiveType:ee.TRIANGLES})};T.scaleToGeodeticHeight=function(e,n,t,f){t=I(t,le.WGS84);var u=Ge,r=Be;if(n=I(n,0),f=I(f,!0),F(e))for(var o=e.length,i=0;i<o;i+=3)a.fromArray(e,i,r),f&&(r=t.scaleToGeodeticSurface(r,r)),n!==0&&(u=t.geodeticSurfaceNormal(r,u),a.multiplyByScalar(u,n,u),a.add(r,u,r)),e[i]=r.x,e[i+1]=r.y,e[i+2]=r.z;return e};var it=T;export{ue as a,it as b};
|