@realsee/dnalogel
Version:
46 lines (45 loc) • 1.31 kB
JavaScript
var l = Object.defineProperty, u = Object.defineProperties;
var d = Object.getOwnPropertyDescriptors;
var i = Object.getOwnPropertySymbols;
var y = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
var o = (t, e, n) => e in t ? l(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, s = (t, e) => {
for (var n in e || (e = {}))
y.call(e, n) && o(t, n, e[n]);
if (i)
for (var n of i(e))
f.call(e, n) && o(t, n, e[n]);
return t;
}, a = (t, e) => u(t, d(e));
import * as r from "three";
import { getRaycasterByNdcPosition as m } from "./getRaycasterByNdcPosition.js";
function w(t, e) {
const n = m(t, e);
return g(t, n);
}
function g(t, e) {
var n;
return (n = p(t, e)) != null ? n : R(e);
}
function R(t) {
const n = new r.Vector3().addVectors(
t.ray.origin,
t.ray.direction.clone().normalize().multiplyScalar(3)
), c = t.ray.direction.clone().negate();
return {
distance: 3,
point: n,
object: new r.Object3D(),
face: new r.Face3(0, 0, 0, c),
raycaster: t,
isVirtual: !0
};
}
function p(t, e) {
const c = t.model.intersectRaycaster(e)[0];
if (c)
return a(s({}, c), { raycaster: e, isVirtual: !1 });
}
export {
w as getIntersectByNdcPosition,
g as getIntersectByRaycaster
};