PointCloudLibrary / pcl

Point Cloud Library (PCL)
https://pointclouds.org/
Other
9.83k stars 4.6k forks source link

[apps] Deal with aliases in PointCloud Editor app #4013

Open aPonza opened 4 years ago

aPonza commented 4 years ago

After #3753, the PointCloud Editor app has mixed references to pcl::shared_ptr and std::shared_ptr due to the existence of the file localTypes.h. I believe the best course of action would be to remove:

https://github.com/PointCloudLibrary/pcl/blob/336f1927276731b323e22addf6356fc1d6cd0fb4/apps/point_cloud_editor/include/pcl/apps/point_cloud_editor/localTypes.h#L69-L91

and

https://github.com/PointCloudLibrary/pcl/blob/336f1927276731b323e22addf6356fc1d6cd0fb4/apps/point_cloud_editor/include/pcl/apps/point_cloud_editor/localTypes.h#L100-L102

from the file and deal with the ruckus of every other file using that one in the app. This means using the same strategy of the referenced PR and introducing in-class aliases like e.g.:

class Cloud : public Statistics
{
  public:
    /// The type for shared pointer pointing to a selection buffer
    using SelectionPtr = pcl::shared_ptr<Selection>;

    [...]
};
SergioRAgostinho commented 4 years ago

I honestly have no preference, because it's not really part of the API. Pick whatever you feel its best and try to enforce it consistently for this particular app.