@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 2.28 kB
JavaScript
import{acosClamped as t}from"../../../core/mathUtils.js";import{s as n,e as s,n as r,f as a,l as o,g as c,a as u,h as i,b as h}from"../../../chunks/vec3.js";import{c as f}from"../../../chunks/vec3f64.js";function e(t,n){return t>n?Math.cos(n):Math.cos(t)}function M(t,n,s){return 2*Math.atan(s*Math.tan(.5*t)/n)}function m(t,n,s){return 2*Math.atan(n*Math.tan(.5*t)/s)}function l(t){const n=t[0]*t[0]+t[4]*t[4]+t[8]*t[8],s=t[1]*t[1]+t[5]*t[5]+t[9]*t[9],r=t[2]*t[2]+t[6]*t[6]+t[10]*t[10];return Math.sqrt(Math.max(n,s,r))}function p(t,s){const r=Math.sqrt(s[0]*s[0]+s[4]*s[4]+s[8]*s[8]),a=Math.sqrt(s[1]*s[1]+s[5]*s[5]+s[9]*s[9]),o=Math.sqrt(s[2]*s[2]+s[6]*s[6]+s[10]*s[10]);return n(t,r,a,o),t}function q(t,a,o){o=o||t;const c=s(t,a);n(o,t[0]-c*a[0],t[1]-c*a[1],t[2]-c*a[2]),r(o,o)}function b(t,s,o){Math.abs(t[0])>Math.abs(t[1])?n(s,0,1,0):n(s,1,0,0),a(o,t,s),r(s,s),a(s,o,t),r(o,o)}function j(t,n){return(t%n+n)%n}function g(t,n,s,r,a,o){const c=t+(n-t)*a;return c+(s+(r-s)*a-c)*o}function k(t,n,r,a=f()){const h=o(t),e=o(n),M=s(t,n)/(h*e);if(M<.9999999999999999){const s=Math.acos(M),o=((1-r)*h+r*e)/Math.sin(s),i=o/h*Math.sin((1-r)*s),f=o/e*Math.sin(r*s);return c(A,t,i),c(B,n,f),u(a,A,B)}return i(a,t,n,r)}function v(t,n,a,e=f(),M=f()){const m=o(t),l=o(n),p=s(t,n)/(m*l);if(p<.9999999999999999){const s=Math.acos(p),r=Math.sin(s),o=Math.sin(a*s),i=Math.sin((1-a)*s),h=(1-a)*m+a*l;{const s=h/r,a=s/l*o;c(A,t,s/m*i),c(B,n,a),u(e,A,B)}{const f=1/m*(-Math.cos((1-a)*s)*s*h+i*(-m+l));c(A,t,f);const e=1/l*(Math.cos(a*s)*s*h+o*(-m+l));c(B,n,e),u(M,A,B),c(M,M,1/r)}return M}return i(e,t,n,a),h(M,n,t),r(M,M),M}function x(n,o,c){n=r(A,n),o=r(B,o);const u=t(s(n,o));if(c){const t=a(z,n,o);if(s(t,c)<0)return-u}return u}function U(t){const n=t.length;return s=>{if(s<=t[0][0])return t[0][1];if(s>=t[n-1][0])return t[n-1][1];let r=1;for(;s>t[r][0];)r++;const a=t[r-1][0],o=t[r][0],c=(o-s)/(o-a);return c*t[r-1][1]+(1-c)*t[r][1]}}function d(t,n,o,c){h(w,n,t),h(y,o,t),a(c,w,y),r(c,c),c[3]=-s(t,c)}const w=f(),y=f(),z=f(),A=f(),B=f();export{x as angle,g as bilerp,e as cosCapped,M as fovx2fovy,m as fovy2fovx,q as makeOrthonormal,U as makePiecewiseLinearFunction,l as maxScale,j as moduloPositive,d as planeFromPoints,p as scaleFromMatrix,k as slerp,v as slerpTangent,b as tangentFrame};