Point Cloud Library (PCL)
1.11.1-dev
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
42
namespace
pcl
43
{
44
template
<
typename
Po
int
InT,
typename
Po
int
NT,
typename
Po
int
OutT>
45
class
PPFRGBEstimation
:
public
FeatureFromNormals
<PointInT, PointNT, PointOutT>
46
{
47
public
:
48
using
PCLBase<PointInT>::indices_
;
49
using
Feature<PointInT, PointOutT>::input_
;
50
using
Feature<PointInT, PointOutT>::feature_name_
;
51
using
Feature<PointInT, PointOutT>::getClassName
;
52
using
FeatureFromNormals<PointInT, PointNT, PointOutT>::normals_
;
53
54
using
PointCloudOut
=
pcl::PointCloud<PointOutT>
;
55
56
/**
57
* \brief Empty Constructor
58
*/
59
PPFRGBEstimation
();
60
61
62
private
:
63
/** \brief The method called for actually doing the computations
64
* \param output the resulting point cloud (which should be of type pcl::PPFRGBSignature);
65
*/
66
void
67
computeFeature (
PointCloudOut
&output);
68
};
69
70
template
<
typename
Po
int
InT,
typename
Po
int
NT,
typename
Po
int
OutT>
71
class
PPFRGBRegionEstimation
:
public
FeatureFromNormals
<PointInT, PointNT, PointOutT>
72
{
73
public
:
74
using
Ptr
= shared_ptr<PPFRGBRegionEstimation<PointInT, PointNT, PointOutT> >;
75
using
ConstPtr
= shared_ptr<const PPFRGBRegionEstimation<PointInT, PointNT, PointOutT> >;
76
using
PCLBase<PointInT>::indices_
;
77
using
Feature<PointInT, PointOutT>::input_
;
78
using
Feature<PointInT, PointOutT>::feature_name_
;
79
using
Feature<PointInT, PointOutT>::search_radius_
;
80
using
Feature<PointInT, PointOutT>::tree_
;
81
using
Feature<PointInT, PointOutT>::getClassName
;
82
using
FeatureFromNormals<PointInT, PointNT, PointOutT>::normals_
;
83
84
using
PointCloudOut
=
pcl::PointCloud<PointOutT>
;
85
86
PPFRGBRegionEstimation
();
87
88
private
:
89
void
90
computeFeature (
PointCloudOut
&output)
override
;
91
};
92
}
93
94
#ifdef PCL_NO_PRECOMPILE
95
#include <pcl/features/impl/ppfrgb.hpp>
96
#endif
pcl
Definition:
convolution.h:46
pcl::Feature::Ptr
shared_ptr< Feature< PointInT, PointOutT > > Ptr
Definition:
feature.h:114
pcl::PPFRGBRegionEstimation
Definition:
ppfrgb.h:71
pcl::PCLBase
PCL base class.
Definition:
pcl_base.h:69
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:311
pcl::PPFRGBEstimation
Definition:
ppfrgb.h:45
pcl::Feature
Feature represents the base feature class.
Definition:
feature.h:106