UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 900 B
import{isNone as e}from"../../../../core/maybe.js";import{castRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{c as n}from"../../../../chunks/vec2.js";import{b as o,c as t,s as c}from"../../../../chunks/vec3.js";import{sv3d as i}from"../../../../geometry/support/vectorStacks.js";function s(e,n,o){return u(e,e.screenToRender(n,r(i.get())),o)}function u(t,c,s){const u=r(n(i.get(),c));if(u[2]=0,!t.unprojectFromRenderScreen(u,s.origin))return null;const m=r(n(i.get(),c));m[2]=1;const g=t.unprojectFromRenderScreen(m,i.get());return e(g)?null:(o(s.direction,g,s.origin),s)}function m(e,n,o){return g(e,e.screenToRender(n,r(i.get())),o)}function g(r,n,s){t(s.origin,r.eye);const u=c(i.get(),n[0],n[1],1),m=r.unprojectFromRenderScreen(u,i.get());return e(m)?null:(o(s.direction,m,s.origin),s)}export{u as fromRender,g as fromRenderAtEye,s as fromScreen,m as fromScreenAtEye};