2#include <muda/muda_def.h>
3#include <muda/ext/eigen/eigen_core_cxx20.h>
5namespace muda::distance
7template <
class T,
int dim>
8MUDA_GENERIC
void point_edge_distance(
const Eigen::Vector<T, dim>& p,
9 const Eigen::Vector<T, dim>& e0,
10 const Eigen::Vector<T, dim>& e1,
13template <
class T,
int dim>
14MUDA_GENERIC
void point_edge_distance_gradient(
const Eigen::Vector<T, dim>& p,
15 const Eigen::Vector<T, dim>& e0,
16 const Eigen::Vector<T, dim>& e1,
17 Eigen::Vector<T, dim * 3>& grad);
19template <
class T,
int dim>
20MUDA_GENERIC
void point_edge_distance_hessian(
const Eigen::Vector<T, dim>& p,
21 const Eigen::Vector<T, dim>& e0,
22 const Eigen::Vector<T, dim>& e1,
23 Eigen::Matrix<T, dim * 3, dim * 3>& Hessian);
27#include "details/point_edge.inl"