2#include <muda/muda_def.h>
3#include <muda/ext/eigen/eigen_core_cxx20.h>
5namespace muda::distance
8MUDA_GENERIC
void point_triangle_distance(
const Eigen::Vector<T, 3>& p,
9 const Eigen::Vector<T, 3>& t0,
10 const Eigen::Vector<T, 3>& t1,
11 const Eigen::Vector<T, 3>& t2,
15MUDA_GENERIC
void point_triangle_distance_gradient(
const Eigen::Vector<T, 3>& p,
16 const Eigen::Vector<T, 3>& t0,
17 const Eigen::Vector<T, 3>& t1,
18 const Eigen::Vector<T, 3>& t2,
19 Eigen::Vector<T, 12>& grad);
22MUDA_GENERIC
void point_triangle_distance_hessian(
const Eigen::Vector<T, 3>& p,
23 const Eigen::Vector<T, 3>& t0,
24 const Eigen::Vector<T, 3>& t1,
25 const Eigen::Vector<T, 3>& t2,
26 Eigen::Matrix<T, 12, 12>& Hessian);
29#include "details/point_triangle.inl"