2015-10-27 9 views
3

Каков обычный способ делать математику, сложение, вычитание, на типы данных PCL (Point Cloud Library), т. Е. PointXYZ? Кажется, что операторы не определены даже для основ.Выполнение математики с помощью структур PCL PointXYZ?

Я думал, что путь PCL должен был преобразовать в векторы Eigen, но, похоже, для этого не существует конструктора.

ответ

0

Для тех, кто хочет сделать основную математику с PointXYZ, вот быстрый пример:

pcl::PointXYZ a(0, 1, 2), b(10, 20, 30), c; 
    c.getArray3fMap() = a.getArray3fMap() + b.getArray3fMap(); 
    std::cout << "c=" << c << std::endl; 
    //c=(10,21,32) 

    c.getArray3fMap() = a.getArray3fMap() * b.getArray3fMap(); 
    std::cout << "c=" << c << std::endl; 
    //c=(0,20,60) 

Может быть, есть лучший способ, но по крайней мере это работает.

+0

Спасибо! Я больше не использую PCL (это было 2 года назад), но я просто предполагаю, что это работает. –

+0

Какая-то ссылка: [Вектор в 3D PCL] (http://www.pcl-users.org/Vector-in-3D-PCL-tp4034437p4034442.html). – Catree

Смежные вопросы