2#include <muda/muda_def.h>
3#include <muda/ext/eigen/eigen_core_cxx20.h>
5namespace muda::distance
8MUDA_GENERIC
void edge_edge_distance(
const Eigen::Vector<T, 3>& ea0,
9 const Eigen::Vector<T, 3>& ea1,
10 const Eigen::Vector<T, 3>& eb0,
11 const Eigen::Vector<T, 3>& eb1,
15MUDA_GENERIC
void edge_edge_distance_gradient(
const Eigen::Vector<T, 3>& ea0,
16 const Eigen::Vector<T, 3>& ea1,
17 const Eigen::Vector<T, 3>& eb0,
18 const Eigen::Vector<T, 3>& eb1,
19 Eigen::Vector<T, 12>& grad);
22MUDA_GENERIC
void edge_edge_distance_hessian(
const Eigen::Vector<T, 3>& ea0,
23 const Eigen::Vector<T, 3>& ea1,
24 const Eigen::Vector<T, 3>& eb0,
25 const Eigen::Vector<T, 3>& eb1,
26 Eigen::Matrix<T, 12, 12>& Hessian);
30#include "details/edge_edge.inl"