Point Cloud Library (PCL)
1.15.1
Toggle main menu visibility
Loading...
Searching...
No Matches
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::FeatureFromNormals::FeatureFromNormals
FeatureFromNormals()
Empty constructor.
Definition
feature.h:329
pcl::FeatureFromNormals::normals_
PointCloudNConstPtr normals_
A pointer to the input dataset that contains the point normals of the XYZ dataset.
Definition
feature.h:349
pcl::Feature
Feature represents the base feature class.
Definition
feature.h:107
pcl::Feature::getClassName
const std::string & getClassName() const
Get a string representation of the name of this class.
Definition
feature.h:244
pcl::Feature::search_radius_
double search_radius_
The nearest neighbors search radius for each point.
Definition
feature.h:237
pcl::Feature::feature_name_
std::string feature_name_
The feature name.
Definition
feature.h:220
pcl::Feature::tree_
KdTreePtr tree_
A pointer to the spatial search object.
Definition
feature.h:231
pcl::PCLBase
PCL base class.
Definition
pcl_base.h:70
pcl::PCLBase< PointInT >::input_
PointCloudConstPtr input_
Definition
pcl_base.h:147
pcl::PCLBase< PointInT >::indices_
IndicesPtr indices_
Definition
pcl_base.h:150
pcl::PPFRGBEstimation::PPFRGBEstimation
PPFRGBEstimation()
Empty Constructor.
Definition
ppfrgb.hpp:47
pcl::PPFRGBEstimation::PointCloudOut
pcl::PointCloud< PointOutT > PointCloudOut
Definition
ppfrgb.h:54
pcl::PPFRGBRegionEstimation::ConstPtr
shared_ptr< const PPFRGBRegionEstimation< PointInT, PointNT, PointOutT > > ConstPtr
Definition
ppfrgb.h:75
pcl::PPFRGBRegionEstimation::PointCloudOut
pcl::PointCloud< PointOutT > PointCloudOut
Definition
ppfrgb.h:84
pcl::PPFRGBRegionEstimation::Ptr
shared_ptr< PPFRGBRegionEstimation< PointInT, PointNT, PointOutT > > Ptr
Definition
ppfrgb.h:74
pcl::PPFRGBRegionEstimation::PPFRGBRegionEstimation
PPFRGBRegionEstimation()
Definition
ppfrgb.hpp:115
pcl::PointCloud
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition
point_cloud.h:174
pcl
Definition
convolution.h:46