欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PCL基础

程序员文章站 2022-07-13 21:29:12
...

这部分主要是规范代码风格,为基于PCL开发自己的扩展。然后实例详解在PCL框架下如何建立我们自己定义类,最后介绍PCL中已经有的点的类型以及如何自定义点类型以满足扩展需求。

PCL C++编程规范

代码规范性和风格的重要性,不用多说了。

PCL推荐的命名规范

PCL基础

PCL基础

PCL基础

上面这个牵扯到头文件过引用问题,上面的宏定义解决了这个问题。

PCL基础

总之,要重视下划线的应用。

PCL基础

类的驼峰,命名。

PCL基础

PCL基础

PCL基础

PCL基础

PCL推荐的缩进与格式

PCL基础

PCL基础

真严格。。。

PCL基础

PCL基础

PCL基础

返回类型不能与函数名在一行?  牛逼。

PCL基础

PCL基础

PCL基础

不同编译器自动格式化代码的方式不一样。

PCL基础

PCL基础

PCL基础

PCL基础

什么是共享指针?迷惑中。。。回头补上。

上面的原则懂了没有啊?

如何编写新的PCL类

建立文件结构

PCL基础

PCL基础

这里没太懂。。。每个算法必须有两个声明和实现?

1. bilateral.h

我们前面说了,bilateral.h头文件包含所有和BilateralFiler类相关的声明,下面是最小的框架:

#ifndef PCL_FILTERS_BILATERAL_H_
    #define PCL_FILTERS_BILATERAL_H_

    #include <pcl/filters/filter.h>
namespace pcl
    {
    template<typename PointT>
    class BilateralFilter:public Filter<PointT>
    {
    };
    }

#endif PCL_FILTERS_BILATERAL_H_

2. bilateral.hpp

新建bilateral.hpp和bilateral.cpp两个文件,首先是bilateral.hpp:

# ifndef PCL_FILTERS_BILATERAL_H_
    #define PCL_FILTERS_BILATERAL_H_
    #include <pcl/filters/bilateral.h>
# endif PCL_FILTERS_BILATERAL_H_

这个应该是明确的,还没有BilateralFilter声明方法,因此他没有具体实现。

3. bilateral.cpp

再编写bilateral.cpp文件

#include <pcl/filters/bilateral.h>
#include <pcl/filters/impl/bilateral.hpp>

这里模板参数是点的类型,我们显示的在bilateral.cpp中说明所有点类型对应模板类的定义,我们需要添加include模板类实例化头文件(bilateral.hpp)。

4. CMakeList.txt

把所有新建文件增加到PCL滤波器的CMakeList.txt(在/PCL源码根目录/filters/下)文件中,就可以开始编译链接过程了,对于CMakeList.txt的更改就可以完成了,剩下的就是下面对类相关文件内容的填充了。

 

填写类的内容

 

相关标签: PCL