#pragma once //在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次
#include <cmath>//支持一些常用的数学函数的头文件
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件
typedef pcl::PointXYZI PointType; //typedef 是为pcl::PointXYZI 类型起新名字PointType,pcl::PointXYZI 是一个简单的XYZ坐标加intensity的point类型
inline double rad2deg(double radians) //定义了两个函数,一个是弧度转角度,一个是角度转弧度
{
return radians * 180.0 / M_PI; // M_PI是c++语言中标准库<math.h>定义的宏,值为3.14159265358979323846
}
inline double deg2rad(double degrees)
{
return degrees * M_PI / 180.0;
}
pcl::PointXYZI在point_type.hpp中的定义
成员变量: float x, y, z, intensity;
struct PointXYZI : public _PointXYZI
{
inline PointXYZI (const _PointXYZI &p)//成员函数
{
x = p.x; y = p.y; z = p.z; data[3] = 1.0f;
intensity = p.intensity;
}
inline PointXYZI (float _intensity = 0.f): PointXYZI(0.f, 0.f, 0.f, _intensity) {}//成员函数
inline PointXYZI (float _x, float _y, float _z, float _intensity = 0.f)//成员函数
{
x = _x; y = _y; z = _z;
data[3] = 1.0f;
intensity = _intensity;
}
friend std::ostream& operator << (std::ostream& os, const PointXYZI& p);
};