Point Cloud Library (PCL)
1.11.1
pcl
features
ppfrgb.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Point Cloud Library (PCL) - www.pointclouds.org
5
* Copyright (c) 2012-, Open Perception, Inc
6
*
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
*
13
* * Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
* * Redistributions in binary form must reproduce the above
16
* copyright notice, this list of conditions and the following
17
* disclaimer in the documentation and/or other materials provided
18
* with the distribution.
19
* * Neither the name of the copyright holder(s) nor the names of its
20
* contributors may be used to endorse or promote products derived
21
* from this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*
36
*/
37
38
#pragma once
39
40
#include <pcl/features/feature.h>
41
#include <pcl/features/boost.h>
42
43
namespace
pcl
44
{
45
template
<
typename
Po
int
InT,
typename
Po
int
NT,
typename
Po
int
OutT>
46
class
PPFRGBEstimation
:
public
FeatureFromNormals
<PointInT, PointNT, PointOutT>
47
{
48
public
:
49
using
PCLBase<PointInT>::indices_
;
50
using
Feature<PointInT, PointOutT>::input_
;
51
using
Feature<PointInT, PointOutT>::feature_name_
;
52
using
Feature<PointInT, PointOutT>::getClassName
;
53
using
FeatureFromNormals<PointInT, PointNT, PointOutT>::normals_
;
54
55
using
PointCloudOut
=
pcl::PointCloud<PointOutT>
;
56
57
/**
58
* \brief Empty Constructor
59
*/
60
PPFRGBEstimation
();
61
62
63
private
:
64
/** \brief The method called for actually doing the computations
65
* \param output the resulting point cloud (which should be of type pcl::PPFRGBSignature);
66
*/
67
void
68
computeFeature (
PointCloudOut
&output);
69
};
70
71
template
<
typename
Po
int
InT,
typename
Po
int
NT,
typename
Po
int
OutT>
72
class
PPFRGBRegionEstimation
:
public
FeatureFromNormals
<PointInT, PointNT, PointOutT>
73
{
74
public
:
75
using
Ptr
= shared_ptr<PPFRGBRegionEstimation<PointInT, PointNT, PointOutT> >;
76
using
ConstPtr
= shared_ptr<const PPFRGBRegionEstimation<PointInT, PointNT, PointOutT> >;
77
using
PCLBase<PointInT>::indices_
;
78
using
Feature<PointInT, PointOutT>::input_
;
79
using
Feature<PointInT, PointOutT>::feature_name_
;
80
using
Feature<PointInT, PointOutT>::search_radius_
;
81
using
Feature<PointInT, PointOutT>::tree_
;
82
using
Feature<PointInT, PointOutT>::getClassName
;
83
using
FeatureFromNormals<PointInT, PointNT, PointOutT>::normals_
;
84
85
using
PointCloudOut
=
pcl::PointCloud<PointOutT>
;
86
87
PPFRGBRegionEstimation
();
88
89
private
:
90
void
91
computeFeature (
PointCloudOut
&output)
override
;
92
};
93
}
94
95
#ifdef PCL_NO_PRECOMPILE
96
#include <pcl/features/impl/ppfrgb.hpp>
97
#endif
pcl
Definition:
convolution.h:46
pcl::Feature::Ptr
shared_ptr< Feature< PointInT, PointOutT > > Ptr
Definition:
feature.h:114
pcl::PPFRGBRegionEstimation
Definition:
ppfrgb.h:73
pcl::PCLBase
PCL base class.
Definition:
pcl_base.h:73
pcl::PointCloud< PointOutT >
pcl::Feature::ConstPtr
shared_ptr< const Feature< PointInT, PointOutT > > ConstPtr
Definition:
feature.h:115
pcl::PPFRGBEstimation::PPFRGBEstimation
PPFRGBEstimation()
Empty Constructor.
Definition:
ppfrgb.hpp:46
pcl::PPFRGBRegionEstimation::PPFRGBRegionEstimation
PPFRGBRegionEstimation()
Definition:
ppfrgb.hpp:114
pcl::FeatureFromNormals
Definition:
feature.h:312
pcl::PPFRGBEstimation
Definition:
ppfrgb.h:47
pcl::Feature
Feature represents the base feature class.
Definition:
feature.h:107