我已经在下面声明了一个新的点类型。但是,我需要它来处理所有可用的PCL功能。例如分段,体素网格等。包含所有执行标题的PCL_INSTANTIATE调用很痛苦。无论如何,对所有主要功能都这样做吗?例如,为分段库中的所有函数编译我的点类型?
( : Grouping starts<br/>
\b : Any word boundary<br/>
\W+ : Any non-word character<br/>
\1 : Select repeated words<br/>
\b : Un select if it repeated word is joined with another word<br/>
) : Grouping ends
答案 0 :(得分:1)
这就行了!
而不是使用
PCL_INSTANTIATE_PointCloud(template);
试
<ul class="navPages-list">
{{#each pages}}
<li class="navPages-item">
<a href="{{url}}">{{name}}</a>
</li>
{{/each}}
</ul>
我希望它有所帮助。我有2天时间寻找这个解决方案。
答案 1 :(得分:1)
更新:尝试数小时的解决方案后,这适用于所有功能:
PCLapp.h中代码的代表部分:
include pcl-1.8/pcl/point_cloud.h
include pcl-1.8/pcl/point_types.h
include pcl-1.8/pcl/filters/voxel_grid.h
include boost/shared_ptr.hpp
namespace pcl{
struct PointXYZIR
{
PCL_ADD_POINT4D // Macro quad-word XYZ
float intensity; // Laser intensity
uint16_t ring; // Laser ring number
EIGEN_MAKE_ALIGNED_OPERATOR_NEW // Ensure proper alignment
} EIGEN_ALIGN16;
}
POINT_CLOUD_REGISTER_POINT_STRUCT(PointXYZIR,
(float, x, x)
(float, y, y)
(float, z, z)
(float, intensity, intensity)
(uint16_t, ring, ring)
)
typedef pcl::PointCloud<pcl::PointXYZIR> PointCloudXYZIR;
### I didn't include any .hpp file (like tutorial said)
PCLapp.cpp中代码的代表部分(VoxelGrid示例)
boost::shared_ptr<PointCloudXYZIR> input_cloud(new PointCloudXYZIR);
PointCloudXYZIR::ConstPtr input_cloudPtr(input_cloud);
pcl::VoxelGrid<pcl::PointXYZIR> vox;
vox.setInputCloud(input_cloudPtr);
vox.setLeafSize(0.05,0.05,0.05);
vox.filter(*input_cloud);
这与所有过滤器完美配合,无需做任何其他事情。