Point Cloud Library (PCL)  1.14.0-dev
surface.h
1 #pragma once
2 
3 #include <pcl/kdtree/kdtree_flann.h>
4 #include <pcl/surface/mls.h>
5 #include <pcl/surface/convex_hull.h>
6 #include <pcl/surface/concave_hull.h>
7 #include <pcl/surface/gp3.h>
8 #include <pcl/surface/marching_cubes_hoppe.h>
9 
10 #include "typedefs.h"
11 
12 
13 class Mesh
14 {
15 public:
16  Mesh () : points (new PointCloud) {}
17  PointCloudPtr points;
18  std::vector<pcl::Vertices> faces;
19 };
20 
21 using MeshPtr = std::shared_ptr<Mesh>;
22 
23 PointCloudPtr
24 smoothPointCloud (const PointCloudPtr & /*input*/, float /*radius*/, int /*polynomial_order*/)
25 {
26  PointCloudPtr output (new PointCloud);
27  return (output);
28 }
29 
30 SurfaceElementsPtr
31 computeSurfaceElements (const PointCloudPtr & /*input*/, float /*radius*/, int /*polynomial_order*/)
32 {
33  SurfaceElementsPtr surfels (new SurfaceElements);
34  return (surfels);
35 }
36 
37 MeshPtr
38 computeConvexHull (const PointCloudPtr & /*input*/)
39 {
40  MeshPtr output (new Mesh);
41  return (output);
42 }
43 
44 
45 MeshPtr
46 computeConcaveHull (const PointCloudPtr & /*input*/, float /*alpha*/)
47 {
48  MeshPtr output (new Mesh);
49  return (output);
50 }
51 
53 greedyTriangulation (const SurfaceElementsPtr & /*surfels*/, float /*radius*/, float /*mu*/, int /*max_nearest_neighbors*/,
54  float /*max_surface_angle*/, float /*min_angle*/, float /*max_angle*/)
55 
56 {
58  return (output);
59 }
60 
61 
63 marchingCubesTriangulation (const SurfaceElementsPtr & /*surfels*/, float /*leaf_size*/, float /*iso_level*/)
64 {
66  return (output);
67 }
Definition: surface.h:14
Mesh()
Definition: surface.h:16
std::vector< pcl::Vertices > faces
Definition: surface.h:18
PointCloudPtr points
Definition: surface.h:17
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition: point_cloud.h:173
shared_ptr< ::pcl::PolygonMesh > Ptr
Definition: PolygonMesh.h:96