2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
|
define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Cartesian2-44433f55","./WebGLConstants-95ceb4e9","./ComponentDatatype-7ee14e67","./GeometryAttribute-424f2c6a","./EllipsoidRhumbLine-862a2df4"],function(e,T,t,W,P,n,I,B,N){"use strict";function r(e,t,n){n=n||2;var r,a,i,x,u,o,s,p=t&&t.length,h=p?t[0]*n:e.length,f=l(e,0,h,n,!0),y=[];if(!f||f.next===f.prev)return y;if(p&&(f=function(e,t,n,r){var a,i,x,u,o,s=[];for(a=0,i=t.length;a<i;a++)x=t[a]*r,u=a<i-1?t[a+1]*r:e.length,(o=l(e,x,u,r,!1))===o.next&&(o.steiner=!0),s.push(function(e){var t=e,n=e;for(;(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next,t!==e;);return n}(o));for(s.sort(m),a=0;a<s.length;a++)!function(e,t){{var n;(t=function(e,t){var n,r=t,a=e.x,i=e.y,x=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var u=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(u<=a&&x<u){if((x=u)===a){if(i===r.y)return r;if(i===r.next.y)return r.next}n=r.x<r.next.x?r:r.next}}r=r.next}while(r!==t);if(!n)return null;if(a===x)return n;var o,s=n,p=n.x,h=n.y,f=1/0;r=n;for(;a>=r.x&&r.x>=p&&a!==r.x&&g(i<h?a:x,i,p,h,i<h?x:a,i,r.x,r.y)&&(o=Math.abs(i-r.y)/(a-r.x),b(r,e)&&(o<f||o===f&&(r.x>n.x||r.x===n.x&&function(e,t){return w(e.prev,e,t.prev)<0&&w(t.next,e,e.next)<0}(n,r)))&&(n=r,f=o)),r=r.next,r!==s;);return n}(e,t))&&c(n=E(t,e),n.next)}}(s[a],n),n=c(n,n.next);return n}(e,t,f,n)),e.length>80*n){r=i=e[0],a=x=e[1];for(var v=n;v<h;v+=n)(u=e[v])<r&&(r=u),(o=e[v+1])<a&&(a=o),i<u&&(i=u),x<o&&(x=o);s=0!==(s=Math.max(i-r,x-a))?1/s:0}return d(f,y,n,r,a,s),y}function l(e,t,n,r,a){var i,x;if(a===0<M(e,t,n,r))for(i=t;i<n;i+=r)x=u(i,e[i],e[i+1],x);else for(i=n-r;t<=i;i-=r)x=u(i,e[i],e[i+1],x);return x&&p(x,x.next)&&(f(x),x=x.next),x}function c(e,t){if(!e)return e;t=t||e;var n,r=e;do{if(n=!1,r.steiner||!p(r,r.next)&&0!==w(r.prev,r,r.next))r=r.next;else{if(f(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function d(e,t,n,r,a,i,x){if(e){!x&&i&&function(e,t,n,r){var a=e;for(;null===a.z&&(a.z=C(a.x,a.y,t,n,r)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next,a!==e;);a.prevZ.nextZ=null,a.prevZ=null,function(e){var t,n,r,a,i,x,u,o,s=1;do{for(n=e,i=e=null,x=0;n;){for(x++,r=n,t=u=0;t<s&&(u++,r=r.nextZ);t++);for(o=s;0<u||0<o&&r;)0!==u&&(0===o||!r||n.z<=r.z)?(n=(a=n).nextZ,u--):(r=(a=r).nextZ,o--),i?i.nextZ=a:e=a,a.prevZ=i,i=a;n=r}i.nextZ=null,s*=2}while(1<x)}(a)}(e,r,a,i);for(var u,o,s=e;e.prev!==e.next;)if(u=e.prev,o=e.next,i?function(e,t,n,r){var a=e.prev,i=e,x=e.next;if(0<=w(a,i,x))return!1;var u=a.x<i.x?a.x<x.x?a.x:x.x:i.x<x.x?i.x:x.x,o=a.y<i.y?a.y<x.y?a.y:x.y:i.y<x.y?i.y:x.y,s=a.x>i.x?a.x>x.x?a.x:x.x:i.x>x.x?i.x:x.x,p=a.y>i.y?a.y>x.y?a.y:x.y:i.y>x.y?i.y:x.y,h=C(u,o,t,n,r),f=C(s,p,t,n,r),y=e.prevZ,v=e.nextZ;for(;y&&y.z>=h&&v&&v.z<=f;){if(y!==e.prev&&y!==e.next&&g(a.x,a.y,i.x,i.y,x.x,x.y,y.x,y.y)&&0<=w(y.prev,y,y.next))return!1;if(y=y.prevZ,v!==e.prev&&v!==e.next&&g(a.x,a.y,i.x,i.y,x.x,x.y,v.x,v.y)&&0<=w(v.prev,v,v.next))return!1;v=v.nextZ}for(;y&&y.z>=h;){if(y!==e.prev&&y!==e.next&&g(a.x,a.y,i.x,i.y,x.x,x.y,y.x,y.y)&&0<=w(y.prev,y,y.next))return!1;y=y.prevZ}for(;v&&v.z<=f;){if(v!==e.prev&&v!==e.next&&g(a.x,a.y,i.x,i.y,x.x,x.y,v.x,v.y)&&0<=w(v.prev,v,v.next))return!1;v=v.nextZ}return!0}(e,r,a,i):function(e){var t=e.prev,n=e,r=e.next;if(0<=w(t,n,r))return!1;var a=e.next.next;for(;a!==e.prev;){if(g(t.x,t.y,n.x,n.y,r.x,r.y,a.x,a.y)&&0<=w(a.prev,a,a.next))return!1;a=a.next}return!0}(e))t.push(u.i/n),t.push(e.i/n),t.push(o.i/n),f(e),e=o.next,s=o.next;else if((e=o)===s){x?1===x?d(e=function(e,t,n){var r=e;do{var a=r.prev,i=r.next.next;!p(a,i)&&h(a,r,r.next,i)&&b(a,i)&&b(i,a)&&(t.push(a.i/n),t.push(r.i/n),t.push(i.i/n),f(r),f(r.next),r=e=i),r=r.next}while(r!==e);return c(r)}(c(e),t,n),t,n,r,a,i,2):2===x&&function(e,t,n,r,a,i){var x=e;do{for(var u=x.next.next;u!==x.prev;){if(x.i!==u.i&&function(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&h(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(b(e,t)&&b(t,e)&&function(e,t){var n=e,r=!1,a=(e.x+t.x)/2,i=(e.y+t.y)/2;for(;n.y>i!=n.next.y>i&&n.next.y!==n.y&&a<(n.n
|