16 #include "libmesh/nanoflann.hpp" 17 #include "libmesh/utility.h" 20 #if NANOFLANN_VERSION < 0x150 23 template <
typename T,
typename U>
31 KDTree(std::vector<Point> & master_points,
unsigned int max_leaf_size);
36 unsigned int patch_size,
37 std::vector<std::size_t> & return_index);
40 unsigned int patch_size,
41 std::vector<std::size_t> & return_index,
42 std::vector<Real> & return_dist_sqr);
50 using KdTreeT = nanoflann::KDTreeSingleIndexAdaptor<
51 nanoflann::L2_Simple_Adaptor<
Real,
KDTree(std::vector< Point > &master_points, unsigned int max_leaf_size)
std::unique_ptr< KdTreeT > _kd_tree
virtual ~KDTree()=default
void neighborSearch(const Point &query_point, unsigned int patch_size, std::vector< std::size_t > &return_index)
PointListAdaptor< Point > _point_list_adaptor
nanoflann::KDTreeSingleIndexAdaptor< nanoflann::L2_Simple_Adaptor< Real, PointListAdaptor< Point >, Real, std::size_t >, PointListAdaptor< Point >, LIBMESH_DIM, std::size_t > KdTreeT
std::size_t numberCandidatePoints()
std::pair< T, U > ResultItem
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void radiusSearch(const Point &query_point, Real radius, std::vector< nanoflann::ResultItem< std::size_t, Real >> &indices_dist)