UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 1.78 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{equals as i}from"../../core/arrayUtils.js";import{ObjectStack as r}from"../../core/ObjectStack.js";import{set as n,invert as t}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as o}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{c as e,d as c,e as s,f as a,g as u,h as f,n as g,a as m,i as d}from"../../chunks/vec32.js";import{clone as l,create as j}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{sv3d as p}from"./vectorStacks.js";function b(i){return i?h(l(i.origin),l(i.direction)):h(j(),j())}function h(i,r){return{origin:i,direction:r}}function x(r,n){return i(r.origin,n.origin)&&i(r.direction,n.direction)}function k(i,r){const n=O.get();return n.origin=i,n.direction=r,n}function v(i,r=b()){return q(i.origin,i.direction,r)}function S(i,r,n=b()){return e(n.origin,i),c(n.direction,r,i),n}function q(i,r,n=b()){return e(n.origin,i),e(n.direction,r),n}function w(i,r){const n=f(p.get(),g(p.get(),i.direction),c(p.get(),r,i.origin));return s(n,n)}function y(i,r,n){const t=s(i.direction,c(n,r,i.origin));return a(n,i.origin,u(n,i.direction,t)),n}function M(i,r,o,e){const c=i.origin,l=r.origin,j=i.direction,p=r.direction,b=s(g(z,j),g(A,p));if(Math.abs(b)>=1)return null;const h=f(z,j,p),x=m(U,l,c),k=n(B,j[0],j[1],j[2],-p[0],-p[1],-p[2],h[0],h[1],h[2]),v=t(B,k);if(null==v)return[o,e];const S=s(d(z,v[0],v[3],v[6]),x),q=s(d(A,v[1],v[4],v[7]),x);return a(o,c,u(U,j,S)),a(e,l,u(U,p,q)),[o,e]}const O=new r((()=>b())),U=j(),z=j(),A=j(),B=o();export{y as closestPoint,M as closestPoints,v as copy,b as create,w as distance2,x as equals,S as fromPoints,q as fromValues,k as wrap};