PCL入门
建立文件结构
PCL中建立文件结构有两种不同的方法:
(1)分别编写代码,作为独立的PCL类,在PCL代码树之外;
(2)直接把文件建立在PCL代码目录树里面。
具体步骤实例:
include/pcl/filters/bilateral.h——包含所有的定义和声明。
include/pcl/filters/bilateral.hpp——包含模板类的具体实现。
src/bilateral.cpp——包含具有的不同点类型的模板类实例化。
C++中头文件(.h)和源文件(.cpp)都应该写些什么
.h .cpp 和 .hpp的区别
命名一个新的类BilateralFilter,PCL滤波规定必须要有两个声明和实现可供使用:一个操作PointCloud<T>,一个操作PointCloud2。现以前者操作PointCloud<T>为例。
bilateral.h
#ifndef PCL_FILTERS_BILATERAL_H_
#define PCL_FILTERS_BILTERAL_H_
#include <pcl/filters/filter.h>
namespace
{
template<typename PonintT>
class BilateralFilter:public Filter<PointT>
{
};
}
#endif //PCL_FILTERS_BILATERAL_H_
#ifndef/#define/#endif使用详解
C++命名空间 namespace的作用和使用解析
bilateral.hpp
新建bilateral.hpp和bilateral.cpp两个文件,首先是bilateral.hpp。
#ifndef PCL_FILTERS_BILATERAL_IMPL_H_
#define PCL_FILTERS_BILTERAL_IMPL_H_
#include <pcl/filters/bilateral.h>
#endif //PCL_FILTERS_BILATERAL_H_
上述没有给出BilateralFilter声明任何方法,因此它没有任何具体实现。
bilateral.cpp
#include<pcl/filters/bilateral.h>
#include<pcl/filters/impl/bilateral.hpp>