2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
|
define(["exports","./Matrix2-e3fb4559","./Cartesian3-7e9cc2ff","./Check-741c5f3c","./ComponentDatatype-aaeec80f","./defaultValue-81eec7ed","./EllipsoidRhumbLine-9c6b32ea","./GeometryAttribute-b025f9a8","./Math-5f585871","./WebGLConstants-508b9636"],(function(e,t,n,r,i,a,u,o,s,x){"use strict";var p=l,h=l;function l(e,t,n){n=n||2;var r,i,a,u,o,s,x,p=t&&t.length,h=p?t[0]*n:e.length,l=f(e,0,h,n,!0),c=[];if(!l||l.next===l.prev)return c;if(p&&(l=function(e,t,n,r){var i,a,u,o=[];for(i=0,a=t.length;i<a;i++)(u=f(e,t[i]*r,i<a-1?t[i+1]*r:e.length,r,!1))===u.next&&(u.steiner=!0),o.push(E(u));for(o.sort(g),i=0;i<o.length;i++)n=w(o[i],n);return n}(e,t,l,n)),e.length>80*n){r=a=e[0],i=u=e[1];for(var v=n;v<h;v+=n)(o=e[v])<r&&(r=o),(s=e[v+1])<i&&(i=s),o>a&&(a=o),s>u&&(u=s);x=0!==(x=Math.max(a-r,u-i))?32767/x:0}return y(l,c,n,r,i,x,0),c}function f(e,t,n,r,i){var a,u;if(i===P(e,t,n,r)>0)for(a=t;a<n;a+=r)u=T(a,e[a],e[a+1],u);else for(a=n-r;a>=t;a-=r)u=T(a,e[a],e[a+1],u);return u&&z(u,u.next)&&(W(u),u=u.next),u}function c(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!z(r,r.next)&&0!==A(r.prev,r,r.next))r=r.next;else{if(W(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function y(e,t,n,r,i,a,u){if(e){!u&&a&&function(e,t,n,r){var i=e;do{0===i.z&&(i.z=M(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,a,u,o,s,x=1;do{for(n=e,e=null,a=null,u=0;n;){for(u++,r=n,o=0,t=0;t<x&&(o++,r=r.nextZ);t++);for(s=x;o>0||s>0&&r;)0!==o&&(0===s||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,s--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,x*=2}while(u>1)}(i)}(e,r,i,a);for(var o,s,x=e;e.prev!==e.next;)if(o=e.prev,s=e.next,a?d(e,r,i,a):v(e))t.push(o.i/n|0),t.push(e.i/n|0),t.push(s.i/n|0),W(e),e=s.next,x=s.next;else if((e=s)===x){u?1===u?y(e=m(c(e),t,n),t,n,r,i,a,2):2===u&&C(e,t,n,r,i,a):y(c(e),t,n,r,i,a,1);break}}}function v(e){var t=e.prev,n=e,r=e.next;if(A(t,n,r)>=0)return!1;for(var i=t.x,a=n.x,u=r.x,o=t.y,s=n.y,x=r.y,p=i<a?i<u?i:u:a<u?a:u,h=o<s?o<x?o:x:s<x?s:x,l=i>a?i>u?i:u:a>u?a:u,f=o>s?o>x?o:x:s>x?s:x,c=r.next;c!==t;){if(c.x>=p&&c.x<=l&&c.y>=h&&c.y<=f&&Z(i,o,a,s,u,x,c.x,c.y)&&A(c.prev,c,c.next)>=0)return!1;c=c.next}return!0}function d(e,t,n,r){var i=e.prev,a=e,u=e.next;if(A(i,a,u)>=0)return!1;for(var o=i.x,s=a.x,x=u.x,p=i.y,h=a.y,l=u.y,f=o<s?o<x?o:x:s<x?s:x,c=p<h?p<l?p:l:h<l?h:l,y=o>s?o>x?o:x:s>x?s:x,v=p>h?p>l?p:l:h>l?h:l,d=M(f,c,t,n,r),m=M(y,v,t,n,r),C=e.prevZ,g=e.nextZ;C&&C.z>=d&&g&&g.z<=m;){if(C.x>=f&&C.x<=y&&C.y>=c&&C.y<=v&&C!==i&&C!==u&&Z(o,p,s,h,x,l,C.x,C.y)&&A(C.prev,C,C.next)>=0)return!1;if(C=C.prevZ,g.x>=f&&g.x<=y&&g.y>=c&&g.y<=v&&g!==i&&g!==u&&Z(o,p,s,h,x,l,g.x,g.y)&&A(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;C&&C.z>=d;){if(C.x>=f&&C.x<=y&&C.y>=c&&C.y<=v&&C!==i&&C!==u&&Z(o,p,s,h,x,l,C.x,C.y)&&A(C.prev,C,C.next)>=0)return!1;C=C.prevZ}for(;g&&g.z<=m;){if(g.x>=f&&g.x<=y&&g.y>=c&&g.y<=v&&g!==i&&g!==u&&Z(o,p,s,h,x,l,g.x,g.y)&&A(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function m(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!z(i,a)&&R(i,r,r.next,a)&&G(i,a)&&G(a,i)&&(t.push(i.i/n|0),t.push(r.i/n|0),t.push(a.i/n|0),W(r),W(r.next),r=e=a),r=r.next}while(r!==e);return c(r)}function C(e,t,n,r,i,a){var u=e;do{for(var o=u.next.next;o!==u.prev;){if(u.i!==o.i&&S(u,o)){var s=O(u,o);return u=c(u,u.next),s=c(s,s.next),y(u,t,n,r,i,a,0),void y(s,t,n,r,i,a,0)}o=o.next}u=u.next}while(u!==e)}function g(e,t){return e.x-t.x}function w(e,t){var n=function(e,t){var n,r=t,i=e.x,a=e.y,u=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var o=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=i&&o>u&&(u=o,n=r.x<r.next.x?r:r.next,o===i))return n}r=r.next}while(r!==t);if(!n)return null;var s,x=n,p=n.x,h=n.y,l=1/0;r=n;do{i>=r.x&&r.x>=p&&i!==r.x&&Z(a<h?i:u,a,p,h,a<h?u:i,a,r.x,r.y)&&(s=Math.abs(a-r.y)/(i-r.x),G(r,e)&&(s<l||s===l&&(r.x>n.x||r.x===n.x&&b(n,r)))&&(n=r,l=s)),r=r.next}while(r!==x);return n}(e,t);if(!n)return t;var r=O(n,e);return c(r,r.next),c(n,n.next)}function b(e,t){return A(e.prev,e,t.prev)<0&&A(t.next,e,e.next)<0}function M(e,t,n,r,i){return(e=1431655765&(
|