Point Cloud Library (PCL)  1.11.1-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 }
Mesh::points
PointCloudPtr points
Definition: surface.h:17
pcl::PolygonMesh::Ptr
shared_ptr< ::pcl::PolygonMesh > Ptr
Definition: PolygonMesh.h:96
pcl::PointCloud
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition: distances.h:55
Mesh::Mesh
Mesh()
Definition: surface.h:16
Mesh
Definition: surface.h:13
pcl::PolygonMesh
Definition: PolygonMesh.h:14
Mesh::faces
std::vector< pcl::Vertices > faces
Definition: surface.h:18