2 lines
5.6 KiB
JavaScript
2 lines
5.6 KiB
JavaScript
import{iw as C,ix as G,iy as H,iz as J,iA as U,cO as E,bT as l,cP as v,cQ as m,cr as L,cT as w,cS as p,fl as f,iu as Q,iB as W,cq as j,cg as z,hD as D,z as tt,cf as et,hS as Y,cs as V,iC as it,iD as st,cR as nt,iE as d,cu as rt,iF as q,fm as O,hm as ot,hl as ct,fn as ut}from"./index-b5c8f851.js";import{E as at}from"./ByteSizeUnit-d4757d40.js";import{n as ft}from"./mat4f64-1413b4a7.js";import{n as ht}from"./quatf64-3363c48e.js";class mt{constructor(e){this._allocator=e,this._items=[],this._itemsPtr=0,this._grow()}get(){return this._itemsPtr===0&&C(()=>this._reset()),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const e=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*R);this._items.length=Math.min(e,this._items.length),this._itemsPtr=0}_grow(){for(let e=0;e<Math.max(8,Math.min(this._items.length,R));e++)this._items.push(this._allocator())}}const R=1024;let g=class a{constructor(e,i,s){this._itemByteSize=e,this._itemCreate=i,this._buffers=new Array,this._items=new Array,this._itemsPtr=0,this._itemsPerBuffer=Math.ceil(s/this._itemByteSize)}get(){this._itemsPtr===0&&C(()=>this._reset());const e=Math.floor(this._itemsPtr/this._itemsPerBuffer);for(;this._buffers.length<=e;){const i=new ArrayBuffer(this._itemsPerBuffer*this._itemByteSize);for(let s=0;s<this._itemsPerBuffer;++s)this._items.push(this._itemCreate(i,s*this._itemByteSize));this._buffers.push(i)}return this._items[this._itemsPtr++]}_reset(){const e=2*(Math.floor(this._itemsPtr/this._itemsPerBuffer)+1);for(;this._buffers.length>e;)this._buffers.pop(),this._items.length=this._buffers.length*this._itemsPerBuffer;this._itemsPtr=0}static createVec2f64(e=_){return new a(16,G,e)}static createVec3f64(e=_){return new a(24,H,e)}static createVec4f64(e=_){return new a(32,J,e)}static createMat3f64(e=_){return new a(72,U,e)}static createMat4f64(e=_){return new a(128,ft,e)}static createQuatf64(e=_){return new a(32,ht,e)}get test(){return{size:this._buffers.length*this._itemsPerBuffer*this._itemByteSize}}};const _=4*at.KILOBYTES;g.createVec2f64();const h=g.createVec3f64();g.createVec4f64();g.createMat3f64();const _t=g.createMat4f64();g.createQuatf64();function Z(t){return t?T(E(t.origin),E(t.direction)):T(l(),l())}function T(t,e){return{origin:t,direction:e}}function Ft(t,e){const i=pt.get();return i.origin=t,i.direction=e,i}function lt(t,e,i=Z()){return v(i.origin,t),m(i.direction,e,t),i}function gt(t,e,i){const s=L(t.direction,m(i,e,t.origin));return w(i,t.origin,p(i,t.direction,s)),i}const pt=new mt(()=>Z());function Pt(t,e){const i=L(t,e)/(f(t)*f(e));return-Q(i)}const $t=P();function P(){return W()}const dt=j,Mt=j;function F(t,e=P()){return z(e,t)}function wt(t,e){return D(t[0],t[1],t[2],e)}function yt(t){return t}function St(t){t[0]=t[1]=t[2]=t[3]=0}function Bt(t,e){return t[0]=t[1]=t[2]=0,t[3]=e,t}function y(t){return t[3]}function bt(t){return t}function zt(t,e,i,s){return D(t,e,i,s)}function At(t,e,i){return t!==i&&v(i,t),i[3]=t[3]+e,i}function xt(t,e,i){return tt.getLogger("esri.geometry.support.sphere").error("sphere.setExtent is not yet supported"),t===i?i:F(t,i)}function S(t,e,i){if(e==null||!I(t,e,M))return!1;let{t0:s,t1:n}=M;if((s<0||n<s&&n>0)&&(s=n),s<0)return!1;if(i){const{origin:r,direction:o}=e;i[0]=r[0]+o[0]*s,i[1]=r[1]+o[1]*s,i[2]=r[2]+o[2]*s}return!0}function Et(t,e,i){const s=lt(e,i);if(!I(t,s,M))return[];const{origin:n,direction:r}=s,{t0:o,t1:c}=M,u=$=>{const B=l();return ut(B,n,r,$),x(t,B,B)};return Math.abs(o-c)<et()?[u(o)]:[u(o),u(c)]}const M={t0:0,t1:0};function I(t,e,i){const{origin:s,direction:n}=e,r=Vt;r[0]=s[0]-t[0],r[1]=s[1]-t[1],r[2]=s[2]-t[2];const o=n[0]*n[0]+n[1]*n[1]+n[2]*n[2];if(o===0)return!1;const c=2*(n[0]*r[0]+n[1]*r[1]+n[2]*r[2]),u=c*c-4*o*(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]-t[3]*t[3]);if(u<0)return!1;const $=Math.sqrt(u);return i.t0=(-c-$)/(2*o),i.t1=(-c+$)/(2*o),!0}const Vt=l();function qt(t,e){return S(t,e,null)}function Ot(t,e,i){if(S(t,e,i))return i;const s=K(t,e,h.get());return w(i,e.origin,p(h.get(),e.direction,Y(e.origin,s)/f(e.direction))),i}function K(t,e,i){const s=h.get(),n=_t.get();V(s,e.origin,e.direction);const r=y(t);V(i,s,e.origin),p(i,i,1/f(i)*r);const o=N(t,e.origin),c=Pt(e.origin,i);return it(n,c+o,s),st(i,i,n),i}function Rt(t,e,i){return S(t,e,i)?i:(gt(e,t,i),x(t,i,i))}function x(t,e,i){const s=m(h.get(),e,t),n=p(h.get(),s,t[3]/f(s));return w(i,n,t)}function Tt(t,e){const i=m(h.get(),e,t),s=nt(i),n=t[3]*t[3];return Math.sqrt(Math.abs(s-n))}function N(t,e){const i=m(h.get(),e,t),s=f(i),n=y(t),r=n+Math.abs(n-s);return Q(n/r)}const b=l();function X(t,e,i,s){const n=m(b,e,t);switch(i){case d.X:{const r=q(n,b)[2];return O(s,-Math.sin(r),Math.cos(r),0)}case d.Y:{const r=q(n,b),o=r[1],c=r[2],u=Math.sin(o);return O(s,-u*Math.cos(c),-u*Math.sin(c),Math.cos(o))}case d.Z:return rt(s,n);default:return}}function k(t,e){const i=m(A,e,t);return f(i)-t[3]}function Ct(t,e,i,s){const n=k(t,e),r=X(t,e,d.Z,A),o=p(A,r,i-n);return w(s,e,o)}function vt(t,e){const i=ot(t,e),s=y(t);return i<=s*s}function Lt(t,e,i=P()){const s=Y(t,e),n=t[3],r=e[3];return s+r<n?(z(i,t),i):s+n<r?(z(i,e),i):(ct(i,t,e,(s+r-n)/(2*s)),i[3]=(s+n+r)/2,i)}const A=l(),Qt=P();Object.freeze(Object.defineProperty({__proto__:null,NullSphere:$t,altitudeAt:k,angleToSilhouette:N,axisAt:X,clear:St,closestPoint:Rt,closestPointOnSilhouette:K,containsPoint:vt,copy:F,create:P,distanceToSilhouette:Tt,elevate:At,equals:Mt,exactEquals:dt,fromCenterAndRadius:wt,fromRadius:Bt,fromValues:zt,getCenter:bt,getRadius:y,intersectLine:Et,intersectRay:S,intersectRayClosestSilhouette:Ot,intersectsRay:qt,projectPoint:x,setAltitudeAt:Ct,setExtent:xt,tmpSphere:Qt,union:Lt,wrap:yt},Symbol.toStringTag,{value:"Module"}));export{y as B,P as E,qt as J,F as T,bt as U,h as c,Z as d,vt as i,Ft as p,mt as s};
|