25 using VertexArray = Eigen::Matrix<Scalar, Eigen::Dynamic, Dim, Eigen::RowMajor>;
26 using EdgeArray = Eigen::Matrix<Index, Eigen::Dynamic, 2, Eigen::RowMajor>;
30 PyEdgeAABBTree(
const VertexArray& V,
const EdgeArray& E)
33 , m_tree(m_vertices, m_edges) {};
35 bool empty()
const {
return m_tree.empty(); }
37 void get_element_closest_point(
38 const typename Tree::RowVectorType& p,
39 typename Tree::Index element_id,
40 typename Tree::RowVectorType& closest_point,
41 typename Tree::Scalar& closest_sq_dist)
const
43 m_tree.get_element_closest_point(p, element_id, closest_point, closest_sq_dist);
46 void foreach_element_in_radius(
47 const typename Tree::RowVectorType& p,
48 typename Tree::Scalar sq_dist,
51 m_tree.foreach_element_in_radius(p, sq_dist, func);
54 void foreach_element_containing(
55 const typename Tree::RowVectorType& p,
58 m_tree.foreach_element_containing(p, func);
61 void get_closest_point(
62 const typename Tree::RowVectorType& p,
63 typename Tree::Index& element_id,
64 typename Tree::RowVectorType& closest_point,
65 typename Tree::Scalar& closest_sq_dist)
const
67 m_tree.get_closest_point(p, element_id, closest_point, closest_sq_dist);
71 VertexArray m_vertices;