本文整理汇总了C++中KdTreePtr::setSortedResults方法的典型用法代码示例。如果您正苦于以下问题:C++ KdTreePtr::setSortedResults方法的具体用法?C++ KdTreePtr::setSortedResults怎么用?C++ KdTreePtr::setSortedResults使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KdTreePtr
的用法示例。
在下文中一共展示了KdTreePtr::setSortedResults方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
/* ---[ */
int
main (int argc, char** argv)
{
if (argc < 4)
{
std::cerr << "No test file given. Please download `bun0.pcd` `bun03.pcd` `milk.pcd` and pass its path to the test." << std::endl;
return (-1);
}
//
// Load first cloud and prepare objets to test
//
if (loadPCDFile<PointXYZ> (argv[1], cloud) < 0)
{
std::cerr << "Failed to read test file. Please download `bun0.pcd` and pass its path to the test." << std::endl;
return (-1);
}
cloud_for_lrf = cloud;
indices.resize (cloud.size (), 0);
indices_for_lrf.resize (cloud.size (), 0);
for (size_t i = 0; i < indices.size (); ++i)
{
indices[i] = static_cast<int> (i);
indices_for_lrf[i] = static_cast<int> (i);
}
tree.reset (new search::KdTree<PointXYZ> ());
tree->setInputCloud (cloud.makeShared ());
tree->setSortedResults (true);
Eigen::Vector4f centroid;
pcl::compute3DCentroid<PointXYZ, float> (cloud_for_lrf, centroid);
Eigen::Vector4f max_pt;
pcl::getMaxDistance<PointXYZ> (cloud_for_lrf, centroid, max_pt);
radius_local_shot = (max_pt - centroid).norm();
PointXYZ p_centroid;
p_centroid.getVector4fMap () = centroid;
cloud_for_lrf.push_back (p_centroid);
PointNormal p_centroid_nr;
p_centroid_nr.getVector4fMap() = centroid;
ground_truth.push_back(p_centroid_nr);
cloud_for_lrf.height = 1;
cloud_for_lrf.width = cloud_for_lrf.size ();
indices_for_lrf.push_back (cloud_for_lrf.width - 1);
indices_local_shot.resize (1);
indices_local_shot[0] = cloud_for_lrf.width - 1;
//
// Load second cloud and prepare objets to test
//
if (loadPCDFile<PointXYZ> (argv[2], cloud2) < 0)
{
std::cerr << "Failed to read test file. Please download `bun03.pcd` and pass its path to the test." << std::endl;
return (-1);
}
indices2.resize (cloud2.size (), 0);
for (size_t i = 0; i < indices2.size (); ++i)
indices2[i] = static_cast<int> (i);
tree2.reset (new search::KdTree<PointXYZ> ());
tree2->setInputCloud (cloud2.makeShared ());
tree2->setSortedResults (true);
//
// Load third cloud and prepare objets to test
//
if (loadPCDFile<PointXYZ> (argv[3], cloud3) < 0)
{
std::cerr << "Failed to read test file. Please download `milk.pcd` and pass its path to the test." << std::endl;
return (-1);
}
indices3.resize (cloud3.size (), 0);
for (size_t i = 0; i < indices3.size (); ++i)
indices3[i] = static_cast<int> (i);
tree3.reset (new search::KdTree<PointXYZ> ());
tree3->setInputCloud (cloud3.makeShared ());
tree3->setSortedResults (true);
testing::InitGoogleTest (&argc, argv);
return (RUN_ALL_TESTS ());
}