Go to the documentation of this file.
28 #ifndef __LBKDTREE_HPP
29 #define __LBKDTREE_HPP
39 #include <unordered_set>
41 #include <boost/shared_ptr.hpp>
70 boost::shared_ptr<LBPointArray<float> >
m_values;
73 boost::shared_ptr<LBPointArray<unsigned char> >
m_splits;
84 unsigned int current_dim,
85 float split_value,
unsigned int split_index,
86 std::list<unsigned int>& critical_indices_left,
87 std::list<unsigned int>& critical_indices_right);
91 unsigned int current_dim,
92 float split_value,
unsigned int split_index,
93 std::unordered_set<unsigned int>& critical_indices_left,
94 std::unordered_set<unsigned int>& critical_indices_right);
100 int size,
int max_tree_depth,
int position,
int current_depth);
109 #endif // !__LBKDTREE_HPP
boost::shared_ptr< LBPointArray< unsigned char > > m_splits
static ctpl::thread_pool * pool
boost::shared_ptr< LBPointArray< unsigned char > > getKdTreeSplits()
The LBKdTree class implements a left-balanced array-based index kd-tree. Left-Balanced: minimum memor...
static void generateKdTreeRecursive(int id, LBPointArray< float > &V, LBPointArray< unsigned int > *sorted_indices, int current_dim, int max_dim, LBPointArray< float > *values, LBPointArray< unsigned char > *splits, int size, int max_tree_depth, int position, int current_depth)
boost::shared_ptr< LBPointArray< float > > getKdTreeValues()
LBKdTree(LBPointArray< float > &vertices, int num_threads=8)
Public.
static void fillCriticalIndicesSet(const LBPointArray< float > &V, LBPointArray< unsigned int > &sorted_indices, unsigned int current_dim, float split_value, unsigned int split_index, std::unordered_set< unsigned int > &critical_indices_left, std::unordered_set< unsigned int > &critical_indices_right)
boost::shared_ptr< LBPointArray< float > > m_values
static void test(int id, LBPointArray< float > *sorted_indices)
void generateKdTree(LBPointArray< float > &vertices)
static void fillCriticalIndices(const LBPointArray< float > &V, LBPointArray< unsigned int > &sorted_indices, unsigned int current_dim, float split_value, unsigned int split_index, std::list< unsigned int > &critical_indices_left, std::list< unsigned int > &critical_indices_right)
static int st_num_threads
static int st_depth_threads
void generateKdTreeArray(LBPointArray< float > &V, LBPointArray< unsigned int > *sorted_indices, int max_dim)
Private.
lvr2
Author(s): Thomas Wiemann
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:24