用 PCL PointXYZ 结构做数学?

Doing math with PCL PointXYZ structs?

对 PCL(点云库)数据类型(即 PointXYZ)进行数学运算、加法、减法的常用方法是什么?似乎连最基本的运算符都没有定义。

我认为 PCL 方法可能是转换为特征向量,但似乎也没有相应的构造函数。

对于任何想用 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)

也许有更好的方法,但至少它有效。