Namespace muda::distance
Namespace List > muda > distance
Public Types
Type | Name |
---|---|
enum unsigned char | EdgeEdgeDistanceType |
enum unsigned char | PointEdgeDistanceType |
enum unsigned char | PointPointDistanceType |
enum unsigned char | PointTriangleDistanceType |
Public Functions
Type | Name |
---|---|
MUDA_GENERIC bool | edge_edge_ccd (Eigen::Matrix< T, 3, 1 > ea0, Eigen::Matrix< T, 3, 1 > ea1, Eigen::Matrix< T, 3, 1 > eb0, Eigen::Matrix< T, 3, 1 > eb1, Eigen::Matrix< T, 3, 1 > dea0, Eigen::Matrix< T, 3, 1 > dea1, Eigen::Matrix< T, 3, 1 > deb0, Eigen::Matrix< T, 3, 1 > deb1, T eta, T thickness, int max_iter, T & toc) |
MUDA_GENERIC bool | edge_edge_ccd_broadphase (const Eigen::Matrix< T, 3, 1 > & ea0, const Eigen::Matrix< T, 3, 1 > & ea1, const Eigen::Matrix< T, 3, 1 > & eb0, const Eigen::Matrix< T, 3, 1 > & eb1, const Eigen::Matrix< T, 3, 1 > & dea0, const Eigen::Matrix< T, 3, 1 > & dea1, const Eigen::Matrix< T, 3, 1 > & deb0, const Eigen::Matrix< T, 3, 1 > & deb1, T dist) |
MUDA_GENERIC bool | edge_edge_cd_broadphase (const Eigen::Matrix< T, 3, 1 > & ea0, const Eigen::Matrix< T, 3, 1 > & ea1, const Eigen::Matrix< T, 3, 1 > & eb0, const Eigen::Matrix< T, 3, 1 > & eb1, T dist) |
MUDA_GENERIC void | edge_edge_cross_norm2 (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T & result) |
MUDA_GENERIC void | edge_edge_cross_norm2_gradient (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, Eigen::Vector< T, 12 > & grad) |
MUDA_GENERIC void | edge_edge_cross_norm2_hessian (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, Eigen::Matrix< T, 12, 12 > & Hessian) |
MUDA_GENERIC void | edge_edge_distance (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T & dist2) |
MUDA_GENERIC void | edge_edge_distance_gradient (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, Eigen::Vector< T, 12 > & grad) |
MUDA_GENERIC void | edge_edge_distance_hessian (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, Eigen::Matrix< T, 12, 12 > & Hessian) |
MUDA_GENERIC EdgeEdgeDistanceType | edge_edge_distance_type (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1) |
MUDA_GENERIC void | edge_edge_distance_unclassified (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T & dist2) |
MUDA_GENERIC void | edge_edge_mollifier (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T eps_x, T & e) |
MUDA_GENERIC void | edge_edge_mollifier_gradient (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T eps_x, Eigen::Vector< T, 12 > & g) |
MUDA_GENERIC void | edge_edge_mollifier_hessian (const Eigen::Vector< T, 3 > & ea0, const Eigen::Vector< T, 3 > & ea1, const Eigen::Vector< T, 3 > & eb0, const Eigen::Vector< T, 3 > & eb1, T eps_x, Eigen::Matrix< T, 12, 12 > & H) |
MUDA_GENERIC void | edge_edge_mollifier_threshold (const Eigen::Vector< T, 3 > & ea0_rest, const Eigen::Vector< T, 3 > & ea1_rest, const Eigen::Vector< T, 3 > & eb0_rest, const Eigen::Vector< T, 3 > & eb1_rest, T & eps_x) |
MUDA_GENERIC bool | point_edge_ccd (const Eigen::Matrix< T, 2, 1 > & x0, const Eigen::Matrix< T, 2, 1 > & x1, const Eigen::Matrix< T, 2, 1 > & x2, const Eigen::Matrix< T, 2, 1 > & d0, const Eigen::Matrix< T, 2, 1 > & d1, const Eigen::Matrix< T, 2, 1 > & d2, T eta, T & toc) |
MUDA_GENERIC bool | point_edge_ccd (Eigen::Matrix< T, 3, 1 > p, Eigen::Matrix< T, 3, 1 > e0, Eigen::Matrix< T, 3, 1 > e1, Eigen::Matrix< T, 3, 1 > dp, Eigen::Matrix< T, 3, 1 > de0, Eigen::Matrix< T, 3, 1 > de1, T eta, T thickness, int max_iter, T & toc) |
MUDA_GENERIC bool | point_edge_ccd_broadphase (const Eigen::Matrix< T, 2, 1 > & p, const Eigen::Matrix< T, 2, 1 > & e0, const Eigen::Matrix< T, 2, 1 > & e1, const Eigen::Matrix< T, 2, 1 > & dp, const Eigen::Matrix< T, 2, 1 > & de0, const Eigen::Matrix< T, 2, 1 > & de1, T dist) |
MUDA_GENERIC bool | point_edge_ccd_broadphase (const Eigen::Matrix< T, 3, 1 > & p, const Eigen::Matrix< T, 3, 1 > & e0, const Eigen::Matrix< T, 3, 1 > & e1, const Eigen::Matrix< T, 3, 1 > & dp, const Eigen::Matrix< T, 3, 1 > & de0, const Eigen::Matrix< T, 3, 1 > & de1, T dist) |
MUDA_GENERIC bool | point_edge_cd_broadphase (const Eigen::Matrix< T, dim, 1 > & x0, const Eigen::Matrix< T, dim, 1 > & x1, const Eigen::Matrix< T, dim, 1 > & x2, T dist) |
MUDA_GENERIC void | point_edge_distance (const Eigen::Vector< T, dim > & p, const Eigen::Vector< T, dim > & e0, const Eigen::Vector< T, dim > & e1, T & dist2) |
MUDA_GENERIC void | point_edge_distance_gradient (const Eigen::Vector< T, dim > & p, const Eigen::Vector< T, dim > & e0, const Eigen::Vector< T, dim > & e1, Eigen::Vector< T, dim *3 > & grad) |
MUDA_GENERIC void | point_edge_distance_hessian (const Eigen::Vector< T, dim > & p, const Eigen::Vector< T, dim > & e0, const Eigen::Vector< T, dim > & e1, Eigen::Matrix< T, dim *3, dim *3 > & Hessian) |
MUDA_GENERIC PointEdgeDistanceType | point_edge_distance_type (const Eigen::Vector< T, dim > & p, const Eigen::Vector< T, dim > & e0, const Eigen::Vector< T, dim > & e1) |
MUDA_GENERIC PointEdgeDistanceType | point_edge_distance_type (const Eigen::Vector< T, dim > & p, const Eigen::Vector< T, dim > & e0, const Eigen::Vector< T, dim > & e1, T & ratio) |
MUDA_GENERIC void | point_edge_distance_unclassified (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & e0, const Eigen::Vector< T, 3 > & e1, T & dist2) |
MUDA_GENERIC bool | point_point_ccd (Eigen::Matrix< T, 3, 1 > p0, Eigen::Matrix< T, 3, 1 > p1, Eigen::Matrix< T, 3, 1 > dp0, Eigen::Matrix< T, 3, 1 > dp1, T eta, T thickness, int max_iter, T & toc) |
MUDA_GENERIC bool | point_point_ccd_broadphase (const Eigen::Matrix< T, 3, 1 > & p0, const Eigen::Matrix< T, 3, 1 > & p1, const Eigen::Matrix< T, 3, 1 > & dp0, const Eigen::Matrix< T, 3, 1 > & dp1, T dist) |
MUDA_GENERIC void | point_point_distance (const Eigen::Vector< T, dim > & a, const Eigen::Vector< T, dim > & b, T & dist2) |
MUDA_GENERIC void | point_point_distance_gradient (const Eigen::Vector< T, dim > & a, const Eigen::Vector< T, dim > & b, Eigen::Vector< T, dim *2 > & grad) |
MUDA_GENERIC void | point_point_distance_hessian (const Eigen::Vector< T, dim > & a, const Eigen::Vector< T, dim > & b, Eigen::Matrix< T, dim *2, dim *2 > & Hessian) |
MUDA_GENERIC PointPointDistanceType | point_point_distance_type (const Eigen::Vector< T, dim > & p0, const Eigen::Vector< T, dim > & p1) |
MUDA_GENERIC void | point_point_distance_unclassified (const Eigen::Vector< T, 3 > & p0, const Eigen::Vector< T, 3 > & p1, T & dist2) |
MUDA_GENERIC bool | point_triangle_ccd (Eigen::Matrix< T, 3, 1 > p, Eigen::Matrix< T, 3, 1 > t0, Eigen::Matrix< T, 3, 1 > t1, Eigen::Matrix< T, 3, 1 > t2, Eigen::Matrix< T, 3, 1 > dp, Eigen::Matrix< T, 3, 1 > dt0, Eigen::Matrix< T, 3, 1 > dt1, Eigen::Matrix< T, 3, 1 > dt2, T eta, T thickness, int max_iter, T & toc) |
MUDA_GENERIC bool | point_triangle_ccd_broadphase (const Eigen::Matrix< T, 3, 1 > & p, const Eigen::Matrix< T, 3, 1 > & t0, const Eigen::Matrix< T, 3, 1 > & t1, const Eigen::Matrix< T, 3, 1 > & t2, const Eigen::Matrix< T, 3, 1 > & dp, const Eigen::Matrix< T, 3, 1 > & dt0, const Eigen::Matrix< T, 3, 1 > & dt1, const Eigen::Matrix< T, 3, 1 > & dt2, T dist) |
MUDA_GENERIC bool | point_triangle_cd_broadphase (const Eigen::Matrix< T, 3, 1 > & p, const Eigen::Matrix< T, 3, 1 > & t0, const Eigen::Matrix< T, 3, 1 > & t1, const Eigen::Matrix< T, 3, 1 > & t2, T dist) |
MUDA_GENERIC void | point_triangle_distance (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & t0, const Eigen::Vector< T, 3 > & t1, const Eigen::Vector< T, 3 > & t2, T & dist2) |
MUDA_GENERIC void | point_triangle_distance_gradient (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & t0, const Eigen::Vector< T, 3 > & t1, const Eigen::Vector< T, 3 > & t2, Eigen::Vector< T, 12 > & grad) |
MUDA_GENERIC void | point_triangle_distance_hessian (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & t0, const Eigen::Vector< T, 3 > & t1, const Eigen::Vector< T, 3 > & t2, Eigen::Matrix< T, 12, 12 > & Hessian) |
MUDA_GENERIC PointTriangleDistanceType | point_triangle_distance_type (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & t0, const Eigen::Vector< T, 3 > & t1, const Eigen::Vector< T, 3 > & t2) |
MUDA_GENERIC void | point_triangle_distance_unclassified (const Eigen::Vector< T, 3 > & p, const Eigen::Vector< T, 3 > & t0, const Eigen::Vector< T, 3 > & t1, const Eigen::Vector< T, 3 > & t2, T & dist2) |
Public Types Documentation
enum EdgeEdgeDistanceType
enum muda::distance::EdgeEdgeDistanceType {
PP_Ea0Eb0 = 0,
PP_Ea0Eb1 = 1,
PE_Ea0Eb0Eb1 = 2,
PP_Ea1Eb0 = 3,
PP_Ea1Eb1 = 4,
PE_Ea1Eb0Eb1 = 5,
PE_Eb0Ea0Ea1 = 6,
PE_Eb1Ea0Ea1 = 7,
EE = 8
};
enum PointEdgeDistanceType
enum PointPointDistanceType
enum PointTriangleDistanceType
enum muda::distance::PointTriangleDistanceType {
PP_PT0 = 0,
PP_PT1 = 1,
PP_PT2 = 2,
PE_PT0T1 = 3,
PE_PT1T2 = 4,
PE_PT2T0 = 5,
PT = 6
};
Public Functions Documentation
function edge_edge_ccd
template<typename T>
MUDA_GENERIC bool muda::distance::edge_edge_ccd (
Eigen::Matrix< T, 3, 1 > ea0,
Eigen::Matrix< T, 3, 1 > ea1,
Eigen::Matrix< T, 3, 1 > eb0,
Eigen::Matrix< T, 3, 1 > eb1,
Eigen::Matrix< T, 3, 1 > dea0,
Eigen::Matrix< T, 3, 1 > dea1,
Eigen::Matrix< T, 3, 1 > deb0,
Eigen::Matrix< T, 3, 1 > deb1,
T eta,
T thickness,
int max_iter,
T & toc
)
function edge_edge_ccd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::edge_edge_ccd_broadphase (
const Eigen::Matrix< T, 3, 1 > & ea0,
const Eigen::Matrix< T, 3, 1 > & ea1,
const Eigen::Matrix< T, 3, 1 > & eb0,
const Eigen::Matrix< T, 3, 1 > & eb1,
const Eigen::Matrix< T, 3, 1 > & dea0,
const Eigen::Matrix< T, 3, 1 > & dea1,
const Eigen::Matrix< T, 3, 1 > & deb0,
const Eigen::Matrix< T, 3, 1 > & deb1,
T dist
)
function edge_edge_cd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::edge_edge_cd_broadphase (
const Eigen::Matrix< T, 3, 1 > & ea0,
const Eigen::Matrix< T, 3, 1 > & ea1,
const Eigen::Matrix< T, 3, 1 > & eb0,
const Eigen::Matrix< T, 3, 1 > & eb1,
T dist
)
function edge_edge_cross_norm2
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_cross_norm2 (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T & result
)
function edge_edge_cross_norm2_gradient
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_cross_norm2_gradient (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
Eigen::Vector< T, 12 > & grad
)
function edge_edge_cross_norm2_hessian
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_cross_norm2_hessian (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
Eigen::Matrix< T, 12, 12 > & Hessian
)
function edge_edge_distance
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_distance (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T & dist2
)
function edge_edge_distance_gradient
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_distance_gradient (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
Eigen::Vector< T, 12 > & grad
)
function edge_edge_distance_hessian
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_distance_hessian (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
Eigen::Matrix< T, 12, 12 > & Hessian
)
function edge_edge_distance_type
template<class T>
MUDA_GENERIC EdgeEdgeDistanceType muda::distance::edge_edge_distance_type (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1
)
function edge_edge_distance_unclassified
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_distance_unclassified (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T & dist2
)
function edge_edge_mollifier
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_mollifier (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T eps_x,
T & e
)
function edge_edge_mollifier_gradient
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_mollifier_gradient (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T eps_x,
Eigen::Vector< T, 12 > & g
)
function edge_edge_mollifier_hessian
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_mollifier_hessian (
const Eigen::Vector< T, 3 > & ea0,
const Eigen::Vector< T, 3 > & ea1,
const Eigen::Vector< T, 3 > & eb0,
const Eigen::Vector< T, 3 > & eb1,
T eps_x,
Eigen::Matrix< T, 12, 12 > & H
)
function edge_edge_mollifier_threshold
template<class T>
MUDA_GENERIC void muda::distance::edge_edge_mollifier_threshold (
const Eigen::Vector< T, 3 > & ea0_rest,
const Eigen::Vector< T, 3 > & ea1_rest,
const Eigen::Vector< T, 3 > & eb0_rest,
const Eigen::Vector< T, 3 > & eb1_rest,
T & eps_x
)
function point_edge_ccd
template<typename T>
MUDA_GENERIC bool muda::distance::point_edge_ccd (
const Eigen::Matrix< T, 2, 1 > & x0,
const Eigen::Matrix< T, 2, 1 > & x1,
const Eigen::Matrix< T, 2, 1 > & x2,
const Eigen::Matrix< T, 2, 1 > & d0,
const Eigen::Matrix< T, 2, 1 > & d1,
const Eigen::Matrix< T, 2, 1 > & d2,
T eta,
T & toc
)
function point_edge_ccd
template<typename T>
MUDA_GENERIC bool muda::distance::point_edge_ccd (
Eigen::Matrix< T, 3, 1 > p,
Eigen::Matrix< T, 3, 1 > e0,
Eigen::Matrix< T, 3, 1 > e1,
Eigen::Matrix< T, 3, 1 > dp,
Eigen::Matrix< T, 3, 1 > de0,
Eigen::Matrix< T, 3, 1 > de1,
T eta,
T thickness,
int max_iter,
T & toc
)
function point_edge_ccd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::point_edge_ccd_broadphase (
const Eigen::Matrix< T, 2, 1 > & p,
const Eigen::Matrix< T, 2, 1 > & e0,
const Eigen::Matrix< T, 2, 1 > & e1,
const Eigen::Matrix< T, 2, 1 > & dp,
const Eigen::Matrix< T, 2, 1 > & de0,
const Eigen::Matrix< T, 2, 1 > & de1,
T dist
)
function point_edge_ccd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::point_edge_ccd_broadphase (
const Eigen::Matrix< T, 3, 1 > & p,
const Eigen::Matrix< T, 3, 1 > & e0,
const Eigen::Matrix< T, 3, 1 > & e1,
const Eigen::Matrix< T, 3, 1 > & dp,
const Eigen::Matrix< T, 3, 1 > & de0,
const Eigen::Matrix< T, 3, 1 > & de1,
T dist
)
function point_edge_cd_broadphase
template<typename T, int dim>
MUDA_GENERIC bool muda::distance::point_edge_cd_broadphase (
const Eigen::Matrix< T, dim, 1 > & x0,
const Eigen::Matrix< T, dim, 1 > & x1,
const Eigen::Matrix< T, dim, 1 > & x2,
T dist
)
function point_edge_distance
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_edge_distance (
const Eigen::Vector< T, dim > & p,
const Eigen::Vector< T, dim > & e0,
const Eigen::Vector< T, dim > & e1,
T & dist2
)
function point_edge_distance_gradient
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_edge_distance_gradient (
const Eigen::Vector< T, dim > & p,
const Eigen::Vector< T, dim > & e0,
const Eigen::Vector< T, dim > & e1,
Eigen::Vector< T, dim *3 > & grad
)
function point_edge_distance_hessian
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_edge_distance_hessian (
const Eigen::Vector< T, dim > & p,
const Eigen::Vector< T, dim > & e0,
const Eigen::Vector< T, dim > & e1,
Eigen::Matrix< T, dim *3, dim *3 > & Hessian
)
function point_edge_distance_type
template<class T, int dim>
MUDA_GENERIC PointEdgeDistanceType muda::distance::point_edge_distance_type (
const Eigen::Vector< T, dim > & p,
const Eigen::Vector< T, dim > & e0,
const Eigen::Vector< T, dim > & e1
)
function point_edge_distance_type
template<class T, int dim>
MUDA_GENERIC PointEdgeDistanceType muda::distance::point_edge_distance_type (
const Eigen::Vector< T, dim > & p,
const Eigen::Vector< T, dim > & e0,
const Eigen::Vector< T, dim > & e1,
T & ratio
)
function point_edge_distance_unclassified
template<class T>
MUDA_GENERIC void muda::distance::point_edge_distance_unclassified (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & e0,
const Eigen::Vector< T, 3 > & e1,
T & dist2
)
function point_point_ccd
template<typename T>
MUDA_GENERIC bool muda::distance::point_point_ccd (
Eigen::Matrix< T, 3, 1 > p0,
Eigen::Matrix< T, 3, 1 > p1,
Eigen::Matrix< T, 3, 1 > dp0,
Eigen::Matrix< T, 3, 1 > dp1,
T eta,
T thickness,
int max_iter,
T & toc
)
function point_point_ccd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::point_point_ccd_broadphase (
const Eigen::Matrix< T, 3, 1 > & p0,
const Eigen::Matrix< T, 3, 1 > & p1,
const Eigen::Matrix< T, 3, 1 > & dp0,
const Eigen::Matrix< T, 3, 1 > & dp1,
T dist
)
function point_point_distance
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_point_distance (
const Eigen::Vector< T, dim > & a,
const Eigen::Vector< T, dim > & b,
T & dist2
)
function point_point_distance_gradient
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_point_distance_gradient (
const Eigen::Vector< T, dim > & a,
const Eigen::Vector< T, dim > & b,
Eigen::Vector< T, dim *2 > & grad
)
function point_point_distance_hessian
template<class T, int dim>
MUDA_GENERIC void muda::distance::point_point_distance_hessian (
const Eigen::Vector< T, dim > & a,
const Eigen::Vector< T, dim > & b,
Eigen::Matrix< T, dim *2, dim *2 > & Hessian
)
function point_point_distance_type
template<class T, int dim>
MUDA_GENERIC PointPointDistanceType muda::distance::point_point_distance_type (
const Eigen::Vector< T, dim > & p0,
const Eigen::Vector< T, dim > & p1
)
function point_point_distance_unclassified
template<class T>
MUDA_GENERIC void muda::distance::point_point_distance_unclassified (
const Eigen::Vector< T, 3 > & p0,
const Eigen::Vector< T, 3 > & p1,
T & dist2
)
function point_triangle_ccd
template<typename T>
MUDA_GENERIC bool muda::distance::point_triangle_ccd (
Eigen::Matrix< T, 3, 1 > p,
Eigen::Matrix< T, 3, 1 > t0,
Eigen::Matrix< T, 3, 1 > t1,
Eigen::Matrix< T, 3, 1 > t2,
Eigen::Matrix< T, 3, 1 > dp,
Eigen::Matrix< T, 3, 1 > dt0,
Eigen::Matrix< T, 3, 1 > dt1,
Eigen::Matrix< T, 3, 1 > dt2,
T eta,
T thickness,
int max_iter,
T & toc
)
function point_triangle_ccd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::point_triangle_ccd_broadphase (
const Eigen::Matrix< T, 3, 1 > & p,
const Eigen::Matrix< T, 3, 1 > & t0,
const Eigen::Matrix< T, 3, 1 > & t1,
const Eigen::Matrix< T, 3, 1 > & t2,
const Eigen::Matrix< T, 3, 1 > & dp,
const Eigen::Matrix< T, 3, 1 > & dt0,
const Eigen::Matrix< T, 3, 1 > & dt1,
const Eigen::Matrix< T, 3, 1 > & dt2,
T dist
)
function point_triangle_cd_broadphase
template<typename T>
MUDA_GENERIC bool muda::distance::point_triangle_cd_broadphase (
const Eigen::Matrix< T, 3, 1 > & p,
const Eigen::Matrix< T, 3, 1 > & t0,
const Eigen::Matrix< T, 3, 1 > & t1,
const Eigen::Matrix< T, 3, 1 > & t2,
T dist
)
function point_triangle_distance
template<class T>
MUDA_GENERIC void muda::distance::point_triangle_distance (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & t0,
const Eigen::Vector< T, 3 > & t1,
const Eigen::Vector< T, 3 > & t2,
T & dist2
)
function point_triangle_distance_gradient
template<class T>
MUDA_GENERIC void muda::distance::point_triangle_distance_gradient (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & t0,
const Eigen::Vector< T, 3 > & t1,
const Eigen::Vector< T, 3 > & t2,
Eigen::Vector< T, 12 > & grad
)
function point_triangle_distance_hessian
template<class T>
MUDA_GENERIC void muda::distance::point_triangle_distance_hessian (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & t0,
const Eigen::Vector< T, 3 > & t1,
const Eigen::Vector< T, 3 > & t2,
Eigen::Matrix< T, 12, 12 > & Hessian
)
function point_triangle_distance_type
template<class T>
MUDA_GENERIC PointTriangleDistanceType muda::distance::point_triangle_distance_type (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & t0,
const Eigen::Vector< T, 3 > & t1,
const Eigen::Vector< T, 3 > & t2
)
function point_triangle_distance_unclassified
template<class T>
MUDA_GENERIC void muda::distance::point_triangle_distance_unclassified (
const Eigen::Vector< T, 3 > & p,
const Eigen::Vector< T, 3 > & t0,
const Eigen::Vector< T, 3 > & t1,
const Eigen::Vector< T, 3 > & t2,
T & dist2
)
The documentation for this class was generated from the following file src/muda/ext/geo/distance/ccd.h