2 lines
1.0 KiB
JavaScript
2 lines
1.0 KiB
JavaScript
import{cU as X,cQ as P,cu as l,cr as p,bT as i}from"./index-b5c8f851.js";import"./sphere-5667aa69.js";function x(I=q){return[I[0],I[1],I[2],I[3]]}function C(I,N,M,r=x()){const o=M[0]-N[0],f=M[1]-N[1],a=M[2]-N[2],u=I[0]-N[0],b=I[1]-N[1],m=I[2]-N[2],F=f*m-a*b,T=a*u-o*m,h=o*b-f*u,_=F*F+T*T+h*h,A=Math.abs(_-1)>1e-5&&_>1e-12?1/Math.sqrt(_):1;return r[0]=F*A,r[1]=T*A,r[2]=h*A,r[3]=-(r[0]*I[0]+r[1]*I[1]+r[2]*I[2]),r}function L(I,N,M,r=0,o=Math.floor(M*(1/3)),f=Math.floor(M*(2/3))){if(M<3)return!1;N(n,r);let a=o,u=!1;for(;a<M-1&&!u;)N(c,a),a++,u=!X(n,c);if(!u)return!1;for(a=Math.max(a,f),u=!1;a<M&&!u;)N(s,a),a++,P(E,n,c),l(E,E),P(e,c,s),l(e,e),u=!X(n,s)&&!X(c,s)&&Math.abs(p(E,e))<O;return u?(C(n,c,s,I),!0):(r!==0||o!==1||f!==2)&&L(I,N,M,0,1,2)}const O=.99619469809,n=i(),c=i(),s=i(),E=i(),e=i();function z(I){return I}const q=[0,0,1,0];var t;(function(I){I[I.NONE=0]="NONE",I[I.CLAMP=1]="CLAMP",I[I.INFINITE_MIN=4]="INFINITE_MIN",I[I.INFINITE_MAX=8]="INFINITE_MAX"})(t||(t={}));t.INFINITE_MIN|t.INFINITE_MAX;t.INFINITE_MAX;export{L as X,x as b,z as o};
|