当先锋百科网

首页 1 2 3 4 5 6 7
#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);
   };