37 #ifndef _PCL_TEST_GPU_OCTREE_DATAGEN_ 38 #define _PCL_TEST_GPU_OCTREE_DATAGEN_ 43 #include <Eigen/StdVector> 47 #if defined (_WIN32) || defined(_WIN64) 106 std::cout <<
"BruteForceSearch";
108 int value100 = std::min<int>(
tests_num, 50);
114 if (log && i % step == 0)
120 std::vector<int>& curr_res =
bfresutls[i];
123 float query_radius = radius > 0 ? radius :
radiuses[i];
126 for(
size_t ind = 0; ind <
points.size(); ++ind)
130 float dx = query.x - point.x;
131 float dy = query.y - point.y;
132 float dz = query.z - point.z;
134 if (dx*dx + dy*dy + dz*dz < query_radius * query_radius)
135 curr_res.push_back(ind);
138 std::sort(curr_res.begin(), curr_res.end());
141 std::cout <<
"Done" << std::endl;
146 std::cout <<
"Points number = " <<
data_size << std::endl;
147 std::cout <<
"Queries number = " <<
tests_num << std::endl;
148 std::cout <<
"Cube size = " <<
cube_size << std::endl;
149 std::cout <<
"Max radius = " <<
max_radius << std::endl;
150 std::cout <<
"Shared radius = " <<
shared_radius << std::endl;
153 template<
typename Dst>
void bruteForceSearch(bool log=false, float radius=-1.f)
std::vector< PointType > queries
std::vector< float > radiuses
A point structure representing Euclidean xyz coordinates.
pcl::gpu::Octree::PointType PointType
std::vector< int > indices
Dst operator()(const PointType &src) const
std::vector< PointType > points
std::vector< std::vector< int > > bfresutls