/////////////////////////////////////////////////////////////////////////////////////////////////////////////
| 64 | |
| 65 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 66 | TEST (PCL, ConcaveHull_bunny) |
| 67 | { |
| 68 | //construct dataset |
| 69 | pcl::PointCloud<pcl::PointXYZ>::Ptr cloud2D (new pcl::PointCloud<pcl::PointXYZ> (*cloud)); |
| 70 | for (auto &point : cloud2D->points) |
| 71 | point.z = 0; |
| 72 | |
| 73 | pcl::PointCloud<pcl::PointXYZ> alpha_shape; |
| 74 | pcl::PointCloud<pcl::PointXYZ>::Ptr voronoi_centers (new pcl::PointCloud<pcl::PointXYZ>); |
| 75 | std::vector<pcl::Vertices> polygons_alpha; |
| 76 | |
| 77 | pcl::ConcaveHull<pcl::PointXYZ> concave_hull; |
| 78 | concave_hull.setInputCloud (cloud2D); |
| 79 | concave_hull.setAlpha (0.5); |
| 80 | concave_hull.setVoronoiCenters (voronoi_centers); |
| 81 | concave_hull.reconstruct (alpha_shape, polygons_alpha); |
| 82 | |
| 83 | EXPECT_EQ (alpha_shape.size (), 21); |
| 84 | |
| 85 | pcl::PointCloud<pcl::PointXYZ> alpha_shape1; |
| 86 | pcl::PointCloud<pcl::PointXYZ>::Ptr voronoi_centers1 (new pcl::PointCloud<pcl::PointXYZ>); |
| 87 | std::vector<pcl::Vertices> polygons_alpha1; |
| 88 | |
| 89 | pcl::ConcaveHull<pcl::PointXYZ> concave_hull1; |
| 90 | concave_hull1.setInputCloud (cloud2D); |
| 91 | concave_hull1.setAlpha (1.5); |
| 92 | concave_hull1.setVoronoiCenters (voronoi_centers1); |
| 93 | concave_hull1.reconstruct (alpha_shape1, polygons_alpha1); |
| 94 | |
| 95 | EXPECT_EQ (alpha_shape1.size (), 20); |
| 96 | |
| 97 | pcl::PointCloud<pcl::PointXYZ> alpha_shape2; |
| 98 | pcl::PointCloud<pcl::PointXYZ>::Ptr voronoi_centers2 (new pcl::PointCloud<pcl::PointXYZ>); |
| 99 | std::vector<pcl::Vertices> polygons_alpha2; |
| 100 | pcl::ConcaveHull<pcl::PointXYZ> concave_hull2; |
| 101 | concave_hull2.setInputCloud (cloud2D); |
| 102 | concave_hull2.setAlpha (0.01); |
| 103 | concave_hull2.setVoronoiCenters (voronoi_centers2); |
| 104 | concave_hull2.reconstruct (alpha_shape2, polygons_alpha2); |
| 105 | |
| 106 | EXPECT_EQ (alpha_shape2.size (), 81); |
| 107 | |
| 108 | //PolygonMesh concave; |
| 109 | //toPCLPointCloud2 (alpha_shape2, concave.cloud); |
| 110 | //concave.polygons = polygons_alpha2; |
| 111 | //saveVTKFile ("./test/bun0-concave2d.vtk", concave); |
| 112 | } |
| 113 | |
| 114 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
| 115 | TEST (PCL, ConcaveHull_planar_bunny) |
nothing calls this directly
no test coverage detected