@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 1.7 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{transformMat4 as r}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";const e=n();class o{constructor(t){this.message=t}toString(){return`AssertException: ${this.message}`}}function i(t,r="Assertion"){if(!t){const t=new Error(r).stack;throw new o(`${r} at ${t}`)}}function s(t,r){t||(r=r||"",console.warn("Verify failed: "+r+"\n"+new Error("verify").stack))}function c(t,r,n,e){let o,i=(n[0]-t[0])/r[0],s=(e[0]-t[0])/r[0];i>s&&(o=i,i=s,s=o);let c=(n[1]-t[1])/r[1],f=(e[1]-t[1])/r[1];if(c>f&&(o=c,c=f,f=o),i>f||c>s)return!1;c>i&&(i=c),f<s&&(s=f);let a=(n[2]-t[2])/r[2],u=(e[2]-t[2])/r[2];return a>u&&(o=a,a=u,u=o),!(i>u||a>s)&&(u<s&&(s=u),!(s<0))}function f(r,n,e,o,i,s=t()){const c=(o[i]-e[i])*(n[0]-r[0])-(o[0]-e[0])*(n[i]-r[i]),f=(o[0]-e[0])*(r[i]-e[i])-(o[i]-e[i])*(r[0]-e[0]);if(0===c)return!1;const a=f/c;return s[0]=r[0]+a*(n[0]-r[0]),s[1]=r[i]+a*(n[i]-r[i]),!0}function a(t,n,o,s,c){e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,r(e,e,n),c.length>2&&(c[2]=-e[2]),r(e,e,o),i(0!==e[3]),c[0]=e[0]/e[3],c[1]=e[1]/e[3],c[2]=e[2]/e[3],c[0]=(.5*c[0]+.5)*s[2]+s[0],c[1]=(.5*c[1]+.5)*s[3]+s[1]}function u(t,r){return Math.log(t)/Math.log(r)}function l(t,r,n,e){t[12]=r,t[13]=n,t[14]=e}function m(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&1===t[15]}export{i as assert,m as isTranslationMatrix,u as logWithBase,a as project,c as rayBoxTest,f as rayRay2D,l as setMatrixTranslation3,s as verify};