12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import"../core/has.js";import t from"../core/Logger.js";import{acosClamped as r,cartesianToSpherical as n}from"../core/mathUtils.js";import{isNone as e}from"../core/maybe.js";import{d as o}from"./mat4.js";import{c as s,a as i,g as a,i as c,l as u,f,m,b as p,p as g,n as l,s as h,d}from"./vec3.js";import{c as j}from"./vec3f64.js";import{c as y}from"./vec4.js";import{c as M,f as v}from"./vec4f64.js";import{Axis as b}from"../geometry/support/Axis.js";import{closestPoint as S}from"../geometry/support/ray.js";import{angle as x}from"../geometry/support/vector.js";import{sv3d as A,sm4d as P}from"../geometry/support/vectorStacks.js";function R(){return M()}function _(t,r=R()){return y(r,t)}function q(t,r){return v(t[0],t[1],t[2],r)}function w(t){return t}function C(t){t[0]=t[1]=t[2]=t[3]=0}function O(t,r){return t[0]=t[1]=t[2]=0,t[3]=r,t}function T(t){return t[3]}function k(t){return t}function E(t,r,n,e){return v(t,r,n,e)}function L(t,r,n){return t!==n&&s(n,t),n[3]=t[3]+r,n}function Z(r,n,e){return t.getLogger("esri.geometry.support.sphere").error("sphere.setExtent is not yet supported"),r===e?e:_(r,e)}function z(t,r,n){if(e(r))return!1;const{origin:o,direction:s}=r,i=U;i[0]=o[0]-t[0],i[1]=o[1]-t[1],i[2]=o[2]-t[2];const a=s[0]*s[0]+s[1]*s[1]+s[2]*s[2];if(0===a)return!1;const c=2*(s[0]*i[0]+s[1]*i[1]+s[2]*i[2]),u=c*c-4*a*(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]-t[3]*t[3]);if(u<0)return!1;const f=Math.sqrt(u);let m=(-c-f)/(2*a);const p=(-c+f)/(2*a);return(m<0||p<m&&p>0)&&(m=p),!(m<0)&&(n&&(n[0]=o[0]+s[0]*m,n[1]=o[1]+s[1]*m,n[2]=o[2]+s[2]*m),!0)}const U=j();function V(t,r){return z(t,r,null)}function X(t,r,n){if(z(t,r,n))return n;const e=Y(t,r,A.get());return i(n,r.origin,a(A.get(),r.direction,c(r.origin,e)/u(r.direction))),n}function Y(t,r,n){const e=A.get(),s=P.get();f(e,r.origin,r.direction);const i=T(t);f(n,e,r.origin),a(n,n,1/u(n)*i);const c=G(t,r.origin),p=x(r.origin,n);return o(s,p+c,e),m(n,n,s),n}function B(t,r,n){return z(t,r,n)?n:(S(r,k(t),n),D(t,n,n))}function D(t,r,n){const e=p(A.get(),r,k(t)),o=a(A.get(),e,t[3]/u(e));return i(n,o,k(t))}function F(t,r){const n=p(A.get(),r,k(t)),e=g(n),o=t[3]*t[3];return Math.sqrt(Math.abs(e-o))}function G(t,n){const e=p(A.get(),n,k(t)),o=u(e),s=T(t),i=s+Math.abs(s-o);return r(s/i)}const H=j();function I(t,r,e,o){const s=p(H,r,k(t));switch(e){case b.X:{const t=n(s,H)[2];return h(o,-Math.sin(t),Math.cos(t),0)}case b.Y:{const t=n(s,H),r=t[1],e=t[2],i=Math.sin(r);return h(o,-i*Math.cos(e),-i*Math.sin(e),Math.cos(r))}case b.Z:return l(o,s);default:return}}function J(t,r){const n=p(Q,r,k(t));return u(n)-t[3]}function K(t,r,n,e){const o=J(t,r),s=I(t,r,b.Z,Q),c=a(Q,s,n-o);return i(e,r,c)}function N(t,r){const n=d(k(t),r),e=T(t);return n<=e*e}const Q=j(),W=R(),$=Object.freeze(Object.defineProperty({__proto__:null,create:R,copy:_,fromCenterAndRadius:q,wrap:w,clear:C,fromRadius:O,getRadius:T,getCenter:k,fromValues:E,elevate:L,setExtent:Z,intersectRay:z,intersectsRay:V,intersectRayClosestSilhouette:X,closestPointOnSilhouette:Y,closestPoint:B,projectPoint:D,distanceToSilhouette:F,angleToSilhouette:G,axisAt:I,altitudeAt:J,setAltitudeAt:K,containsPoint:N,tmpSphere:W},Symbol.toStringTag,{value:"Module"}));export{T as a,Y as b,R as c,F as d,O as e,E as f,k as g,_ as h,z as i,V as j,q as k,C as l,N as m,L as n,Z as o,X as p,B as q,D as r,$ as s,W as t,G as u,I as v,w,J as x,K as y};
|