Мой вопрос связан с Creating a PCL point cloud using a container of Eigen Vector3d, но я использую Eigen::MatrixXd
вместо Eigen::Vector3d
. getMatrixXfMap()
не является частью функции-члена и поэтому не может использоваться вместо getVector3fMap()
. Как можно преобразовать типы в этом случае?Преобразование Eigen :: MatrixXd в pcl :: PointCloud <pcl :: PointXYZ>
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
// resize to number of points
cloud->points.resize(Pts.rows());
/*DOES NOT WORK */
for(int i=0;i<Pts.rows();i++)
cloud->points[i].getMatrixXfMap() = Pts[i].cast<float>();