PointCloudLibrary/pcl
Ver no GitHubCan we have makeShared() for pcl::PolygonMesh?
Open
#2.752 aberto em 30 de dez. de 2018
good first issuekind: todomodule: common
Métricas do repositório
- Stars
- (9.023 stars)
- Métricas de merge de PR
- (Mesclagem média 8d 7h) (3 fundiu PRs em 30d)
Description
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?