consistent internal PointCloud/PointCloud2 for developers

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

consistent internal PointCloud/PointCloud2 for developers

Radu B. Rusu
This is for developers only...

I just noticed that we were typedef-ing inconsistently (inside of PCL and PCL_ROS) the type of PointCloud that a
specific algorithm was working with.


in Filter<T>:

  73       typedef pcl::PointCloud<PointT> PointCloud;
  74       typedef typename PointCloud::Ptr PointCloudPtr;
  75       typedef typename PointCloud::ConstPtr PointCloudConstPtr;

and in Filter<sensor_msgs::PointCloud2>:

189       typedef sensor_msgs::PointCloud2 PointCloud;
190       typedef PointCloud::Ptr PointCloudPtr;
191       typedef PointCloud::ConstPtr PointCloudConstPtr;

This makes the usage of both data types somewhat ambiguous. To resolve this issue, all classes that work on
<sensor_msgs::PointCloud2> now have something along the lines of:

189       typedef sensor_msgs::PointCloud2 PointCloud2;
190       typedef PointCloud2::Ptr PointCloud2Ptr;
191       typedef PointCloud2::ConstPtr PointCloud2ConstPtr;

I committed this change in trunk (32989), so we can avoid future issues.

This will only affect you if you developed any algorithms by extending the base PCL classes, as all these changes are


[hidden email] /