Я работаю с ros, но мне нужны некоторые новые функции из pcl 1.8.Вот почему я включаю его как системную зависимость, используя find_package(PCL 1.8 Required)
, и не могу включить ни один пакет ros_pcl, потому что я прочитал в списке рассылки об этой проблеме, что смешивание ros_pcl и автономного pcl - плохая идея.
Теперь я не могу найти метод, как преобразовать облако точек росы sensor_msgs::PointCloud2
в облако точек pcl::PointCloud2
.Я нашел только void pcl::toPCLPointCloud2 (const pcl::PointCloud< PointT >& cloud, pcl::PCLPointCloud2 & msg)
, который имеет неправильный тип и выдает ошибку компиляции.
Теперь в пакете pcl_conversion есть эта функция: void pcl::fromROSMsg (const sensor_msgs::PointCloud2 &cloud, pcl::PointCloud< T > &pcl_cloud)
, и я успешно использовал ее только для того, чтобы попробовать, нотогда не мог использовать pcl 1.8 одновременно.Теперь мой вопрос: лучше ли будет самому скопировать / реализовать функцию fromROSMsg
, чтобы иметь возможность использовать 1.8, или есть лучший способ, как это сделать?