点云库PCL源码中的框架搭建思想

点云库PCL是基于C++的重度模板库,一般将函数的定义与声明放在.h文件中,函数的实现放在.hpp或.cpp文件中。
以函数transformPointCloud 为例,此函数的功能为将点云按变换矩阵进行变换,为点云的拼接做准备。
.h中函数的定义:


template <typename PointT, typename Scalar> void
transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
pcl::PointCloud<PointT> &cloud_out,
const Eigen::Matrix<Scalar, 4, 4> &transform)
{
Eigen::Transform<Scalar, 3, Eigen::Affine> t (transform);
return (transformPointCloud<PointT, Scalar>(cloud_in, cloud_out, t));
}

此为函数的定义部分,并且并非无实现的功能,这一函数内先将转换参数,然后将参数传给真正实现功能函数,
其声明如下
.h文件中:

template <typename PointT, typename Scalar> void
transformPointCloud (const pcl::PointCloud<PointT> &cloud_in,
pcl::PointCloud<PointT> &cloud_out,
const Eigen::Transform<Scalar, 3,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值