CoplanarPolygonGeometryLibrary-201881a9.js 1.5 KB

1
  1. define(["exports","./Matrix2-e3fb4559","./Cartesian3-7e9cc2ff","./Check-741c5f3c","./Matrix4-d34187af","./OrientedBoundingBox-e7bf3b65"],(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,f=new i.OrientedBoundingBox;function m(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,f).halfAxes,r=a.Matrix3.getColumn(t,0,s),o=a.Matrix3.getColumn(t,1,c),u=a.Matrix3.getColumn(t,2,C),m=e.Cartesian3.magnitude(r),g=e.Cartesian3.magnitude(o),l=e.Cartesian3.magnitude(u);return!(0===m&&(0===g||0===l)||0===g&&0===l)},o.computeProjectTo2DArguments=function(n,t,r,o){const u=i.OrientedBoundingBox.fromPoints(n,f),m=u.halfAxes,g=a.Matrix3.getColumn(m,0,s),l=a.Matrix3.getColumn(m,1,c),d=a.Matrix3.getColumn(m,2,C),x=e.Cartesian3.magnitude(g),M=e.Cartesian3.magnitude(l),B=e.Cartesian3.magnitude(d),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=g),P===x?h=l:P===B&&(w=l),P!==x&&P!==M||(w=d),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]=m(r[i],n,t,e);return a}},o.createProjectPointTo2DFunction=function(n,t,e){return function(r,a){return m(r,n,t,e,a)}},n.CoplanarPolygonGeometryLibrary=o}));