// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../../core/mathUtils ../../chunks/vec32 ../../core/libs/gl-matrix-2/factories/vec3f64 ../../chunks/vec42 ./vector ./vectorStacks ../../views/3d/support/mathUtils".split(" "),function(e,J,f,t,w,A,m,K){function B(a=q){return[a[0],a[1],a[2],a[3]]}function E(a,b){return C(b[0],b[1],b[2],b[3],a)}function C(a,b,c,d,g=B()){g[0]=a;g[1]=b;g[2]=c;g[3]=d;return g}function F(a,b,c){var d=b[0]*b[0]+b[1]*b[1]+b[2]*b[2];d=1E-5c)return!1;b(u,d);let k=g,l=!1;for(;kMath.abs(f.dot(x,y));if(!l)return 0===d&&1===g&&2===h?!1:D(a,b,c,0,1,2);G(u,r,p,a);return!0}function I(a,b,c){a=f.scale(m.sv3d.get(),a,f.dot(a,b));f.subtract(c,b,a);return c}function v(a,b){return f.dot(a,b)+a[3]}function z(a,b,c,d,g){const h=f.dot(a,c);if(0===h)return!1;a=-(f.dot(a,b)+a[3])/h;d&n.CLAMP&&(a=J.clamp(a,0,1));if(!(d&n.INFINITE_MIN)&& 0>a||!(d&n.INFINITE_MAX)&&1a&&0<=c)return!1;if(-1E-6c)return 0< a;if((0>a||0>c)&&!(0>a&&0>c))return!0;a/=c;0b.c0&&(b.c0=a);return b.c0<=b.c1};e.clipInfinite=function(a,b){const c=f.dot(a,b.ray.direction);a=-v(a,b.ray.origin);if(-1E-6c)return 0b.c0&&(b.c0=a);return b.c0<=b.c1};e.copy=E;e.create=B;e.distance=function(a,b){return Math.abs(v(a,b))};e.equals=w;e.exactEquals=L;e.fromArray=function(a,b,c=!0){const d=b.length/3;return D(a,(g,h)=>f.set(g,b[3*h],b[3*h+1],b[3*h+2]),c?d-1:d)};e.fromManyPoints= D;e.fromNormalAndOffset=function(a,b,c){f.copy(c,a);c[3]=b;return c};e.fromPoints=G;e.fromPositionAndNormal=F;e.fromValues=C;e.fromVectorsAndPoint=function(a,b,c,d){f.cross(p,b,a);return F(c,p,d)};e.getNormal=function(a){return a};e.intersectLine=function(a,b,c,d){c=f.subtract(m.sv3d.get(),c,b);return z(a,b,c,M,d)};e.intersectLineSegment=function(a,b,c){return z(a,b.origin,b.vector,n.NONE,c)};e.intersectLineSegmentClamp=function(a,b,c){return z(a,b.origin,b.vector,n.CLAMP,c)};e.intersectRay=function(a, b,c){return null!=b?z(a,b.origin,b.direction,N,c):!1};e.isPointInside=function(a,b){return 0<=v(a,b)};e.negate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b};e.projectPoint=function(a,b,c){const d=f.scale(m.sv3d.get(),a,-a[3]);b=f.subtract(m.sv3d.get(),b,d);a=I(a,b,m.sv3d.get());f.add(c,a,d);return c};e.projectPointLocal=function(a,b,c,d){var g=m.sv3d.get(),h=m.sv3d.get();K.tangentFrame(a,g,h);b=f.subtract(m.sv3d.get(),c,b);g=A.projectPointSignedLength(g,b);h=A.projectPointSignedLength(h, b);a=A.projectPointSignedLength(a,b);return f.set(d,g,h,a)};e.projectVector=I;e.setOffsetFromPoint=function(a,b,c){b!==a&&E(a,b);a[3]=-f.dot(a,c);return a};e.signedDistance=v;e.up=q;e.wrap=function(a=q[0],b=q[1],c=q[2],d=q[3]){return C(a,b,c,d,m.sv4d.get())};Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});