4 #include <pcl/kdtree/kdtree_flann.h>
5 #include <pcl/surface/mls.h>
6 #include <pcl/surface/convex_hull.h>
7 #include <pcl/surface/concave_hull.h>
8 #include <pcl/surface/gp3.h>
9 #include <pcl/surface/marching_cubes_greedy.h>
19 std::vector<pcl::Vertices>
faces;
22 typedef boost::shared_ptr<Mesh> MeshPtr;
25 smoothPointCloud (
const PointCloudPtr & input,
float radius,
int polynomial_order)
37 mls.reconstruct (*output);
43 computeSurfaceElements (
const PointCloudPtr & input,
float radius,
int polynomial_order)
56 mls.setOutputNormals (normals);
57 mls.reconstruct (*points);
66 computeConvexHull (
const PointCloudPtr & input)
71 MeshPtr output (
new Mesh);
72 convex_hull.
reconstruct (*(output->points), output->faces);
79 computeConcaveHull (
const PointCloudPtr & input,
float alpha)
85 MeshPtr output (
new Mesh);
86 concave_hull.
reconstruct (*(output->points), output->faces);
92 greedyTriangulation (
const SurfaceElementsPtr & surfels,
float radius,
float mu,
int max_nearest_neighbors,
93 float max_surface_angle,
float min_angle,
float max_angle)
102 gpt.setMaximumSurfaceAgle (max_surface_angle);
116 marchingCubesTriangulation (
const SurfaceElementsPtr & surfels,
float leaf_size,
float iso_level)
118 pcl::MarchingCubesGreedy<SurfelT> marching_cubes;
120 marching_cubes.setLeafSize (leaf_size);
121 marching_cubes.setIsoLevel (iso_level);
123 marching_cubes.setInputCloud (surfels);
125 marching_cubes.reconstruct (*output);