Point Cloud Library (PCL)
1.7.0
|
00001 #ifndef SURFACE_H_ 00002 #define SURFACE_H_ 00003 00004 #include <pcl/kdtree/kdtree_flann.h> 00005 #include <pcl/surface/mls.h> 00006 #include <pcl/surface/convex_hull.h> 00007 #include <pcl/surface/concave_hull.h> 00008 #include <pcl/surface/gp3.h> 00009 #include <pcl/surface/marching_cubes_hoppe.h> 00010 00011 #include "typedefs.h" 00012 00013 00014 class Mesh 00015 { 00016 public: 00017 Mesh () : points (new PointCloud) {} 00018 PointCloudPtr points; 00019 std::vector<pcl::Vertices> faces; 00020 }; 00021 00022 typedef boost::shared_ptr<Mesh> MeshPtr; 00023 00024 PointCloudPtr 00025 smoothPointCloud (const PointCloudPtr & input, float radius, int polynomial_order) 00026 { 00027 PointCloudPtr output (new PointCloud); 00028 return (output); 00029 } 00030 00031 SurfaceElementsPtr 00032 computeSurfaceElements (const PointCloudPtr & input, float radius, int polynomial_order) 00033 { 00034 SurfaceElementsPtr surfels (new SurfaceElements); 00035 return (surfels); 00036 } 00037 00038 MeshPtr 00039 computeConvexHull (const PointCloudPtr & input) 00040 { 00041 MeshPtr output (new Mesh); 00042 return (output); 00043 } 00044 00045 00046 MeshPtr 00047 computeConcaveHull (const PointCloudPtr & input, float alpha) 00048 { 00049 MeshPtr output (new Mesh); 00050 return (output); 00051 } 00052 00053 pcl::PolygonMesh::Ptr 00054 greedyTriangulation (const SurfaceElementsPtr & surfels, float radius, float mu, int max_nearest_neighbors, 00055 float max_surface_angle, float min_angle, float max_angle) 00056 00057 { 00058 pcl::PolygonMesh::Ptr output (new pcl::PolygonMesh); 00059 return (output); 00060 } 00061 00062 00063 pcl::PolygonMesh::Ptr 00064 marchingCubesTriangulation (const SurfaceElementsPtr & surfels, float leaf_size, float iso_level) 00065 { 00066 pcl::PolygonMesh::Ptr output (new pcl::PolygonMesh); 00067 return (output); 00068 } 00069 00070 #endif