CoplanarPolygonGeometryLibrary-d95ab18f.js 1.5 KB

1
  1. define(["exports","./Matrix2-e3fb4559","./Cartesian3-7e9cc2ff","./Check-741c5f3c","./Matrix4-d34187af","./OrientedBoundingBox-3db45505"],(function(n,t,e,r,a,i){"use strict";const o={},u=new e.Cartesian3,s=new e.Cartesian3,c=new e.Cartesian3,C=new e.Cartesian3,m=new i.OrientedBoundingBox;function f(n,r,a,i,o){const s=e.Cartesian3.subtract(n,r,u),c=e.Cartesian3.dot(a,s),C=e.Cartesian3.dot(i,s);return t.Cartesian2.fromElements(c,C,o)}o.validOutline=function(n){const t=i.OrientedBoundingBox.fromPoints(n,m).halfAxes,r=a.Matrix3.getColumn(t,0,s),o=a.Matrix3.getColumn(t,1,c),u=a.Matrix3.getColumn(t,2,C),f=e.Cartesian3.magnitude(r),d=e.Cartesian3.magnitude(o),g=e.Cartesian3.magnitude(u);return!(0===f&&(0===d||0===g)||0===d&&0===g)},o.computeProjectTo2DArguments=function(n,t,r,o){const u=i.OrientedBoundingBox.fromPoints(n,m),f=u.halfAxes,d=a.Matrix3.getColumn(f,0,s),g=a.Matrix3.getColumn(f,1,c),l=a.Matrix3.getColumn(f,2,C),x=e.Cartesian3.magnitude(d),M=e.Cartesian3.magnitude(g),B=e.Cartesian3.magnitude(l),P=Math.min(x,M,B);if(0===x&&(0===M||0===B)||0===M&&0===B)return!1;let h,w;return P!==M&&P!==B||(h=d),P===x?h=g:P===B&&(w=g),P!==x&&P!==M||(w=l),e.Cartesian3.normalize(h,r),e.Cartesian3.normalize(w,o),e.Cartesian3.clone(u.center,t),!0},o.createProjectPointsTo2DFunction=function(n,t,e){return function(r){const a=new Array(r.length);for(let i=0;i<r.length;i++)a[i]=f(r[i],n,t,e);return a}},o.createProjectPointTo2DFunction=function(n,t,e){return function(r,a){return f(r,n,t,e,a)}},n.CoplanarPolygonGeometryLibrary=o}));