具体来说,我已经建立了第一个新类型为POINTXYZIT(x,y,z,强度,时间戳记,铃声)以获取数据,同时我想编写另一个新的点类型为POINTXYZID(x, y,z,强度,距离,环)。当我运行时,它显示为:
my_pointstype.cpp:29:2:错误:声明“ PointXYZID EIGEN_ALICN16”冲突 } EIGEN_ALICN16; ^ my_pointstype.cpp:13:2:注意:先前声明为“ PointXYZIT EIGEN_ALICN16” } EIGEN_ALICN16;
我的系统是带有pcl-1.8和cmake的ubuntu16.04。 代码如下:
struct PointXYZIT {
PCL_ADD_POINT4D
uint8_t intensity;
double timestamp;
uint16_t ring;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
}EIGEN_ALICN16;
POINT_CLOUD_REGISTER_POINT_STRUCT(PointXYZIT,
(float,x,x)(float,y,y)(float,z,z)(uint8_t,intensity,intensity)
(double,timestamp,timestamp)(uint16_t,ring,ring))
struct PointXYZID {
PCL_ADD_POINT4D
uint8_t intensity;
float distance;
uint16_t ring;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
}EIGEN_ALICN16;
POINT_CLOUD_REGISTER_POINT_STRUCT(PointXYZID,
(float,x,x)(float,y,y)(float,z,z)(uint8_t,intensity,intensity)
(float,distance,distance)(uint16_t,ring,ring))
我只想获取距离数据并写入另一个.pcd文件。