PointCloudLibrary/pcl
Auf GitHub ansehenCan we have makeShared() for pcl::PolygonMesh?
Open
#2.752 geöffnet am 30. Dez. 2018
good first issuekind: todomodule: common
Repository-Metriken
- Stars
- (9.023 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 8T 7h) (3 gemergte PRs in 30 T)
Beschreibung
Your Environment
- Operating System and version: Ubuntu 18.04
- Compiler: GCC 7
- PCL Version: Latest
Context
I was experimenting with pcl::MeshSmoothingLaplacianVTK and then I realize there isn't a makeShared() function of pcl::PolygonMesh. For example, for the usual pcl::PointCloud<pcl::PointXYZ> we can do something like below
pcl::PointCloud<pcl::PointXYZ> cld;
pcl::VoxelGrid<pcl::PointXYZ> vox;
vox.setInputCloud(cld.makeShared());
vox.filter(cld);
but I can't do the below
pcl::PolygonMesh mesh;
pcl::MeshSmoothingLaplacianVTK vtk;
vtk.setInputMesh(mesh.makeShared());
vtk.process(mesh);
eventually I figured out if I want to keep my variables as object based and avoid mixing and matching with pointers, the below seems to work
pcl::PolygonMesh mesh;
pcl::MeshSmoothingLaplacianVTK vtk;
vtk.setInputMesh(boost::make_shared<pcl::PolygonMesh>(mesh));
vtk.process(mesh);
I am wondering is there a reason there isn't a makeShared() function for pcl::PolygonMesh? Or is it simply someone need to submit a PR to add that functionality?