Point Cloud Library (PCL)
1.6.0
Main Page
Modules
Namespaces
Classes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
segmentation
include
pcl
segmentation
segment_differences.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2010, Willow Garage, Inc.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*
34
* $Id: segment_differences.h 5026 2012-03-12 02:51:44Z rusu $
35
*
36
*/
37
38
#ifndef PCL_SEGMENT_DIFFERENCES_H_
39
#define PCL_SEGMENT_DIFFERENCES_H_
40
41
#include <
pcl/pcl_base.h
>
42
#include <
pcl/search/pcl_search.h
>
43
44
namespace
pcl
45
{
47
56
template
<
typename
Po
int
T>
57
void
getPointCloudDifference
(
58
const
pcl::PointCloud<PointT>
&src,
const
pcl::PointCloud<PointT>
&tgt,
59
double
threshold,
const
boost::shared_ptr<
pcl::search::Search<PointT>
> &tree,
60
pcl::PointCloud<PointT>
&output);
61
65
71
template
<
typename
Po
int
T>
72
class
SegmentDifferences
:
public
PCLBase
<PointT>
73
{
74
typedef
PCLBase<PointT>
BasePCLBase
;
75
76
public
:
77
typedef
pcl::PointCloud<PointT>
PointCloud
;
78
typedef
typename
PointCloud::Ptr
PointCloudPtr
;
79
typedef
typename
PointCloud::ConstPtr
PointCloudConstPtr
;
80
81
typedef
typename
pcl::search::Search<PointT>
KdTree
;
82
typedef
typename
pcl::search::Search<PointT>::Ptr
KdTreePtr
;
83
84
typedef
PointIndices::Ptr
PointIndicesPtr
;
85
typedef
PointIndices::ConstPtr
PointIndicesConstPtr
;
86
88
SegmentDifferences
() :
89
tree_ (), target_ (), distance_threshold_ (0)
90
{};
91
97
inline
void
98
setTargetCloud
(
const
PointCloudConstPtr
&cloud) { target_ = cloud; }
99
101
inline
PointCloudConstPtr
const
102
getTargetCloud
() {
return
(target_); }
103
107
inline
void
108
setSearchMethod
(
const
KdTreePtr
&tree) { tree_ = tree; }
109
111
inline
KdTreePtr
112
getSearchMethod
() {
return
(tree_); }
113
119
inline
void
120
setDistanceThreshold
(
double
sqr_threshold) { distance_threshold_ = sqr_threshold; }
121
125
inline
double
126
getDistanceThreshold
() {
return
(distance_threshold_); }
127
131
void
132
segment
(
PointCloud
&output);
133
134
protected
:
135
// Members derived from the base class
136
using
BasePCLBase::input_;
137
using
BasePCLBase::indices_;
138
using
BasePCLBase::initCompute;
139
using
BasePCLBase::deinitCompute;
140
142
KdTreePtr
tree_;
143
145
PointCloudConstPtr
target_;
146
150
double
distance_threshold_;
151
153
virtual
std::string
154
getClassName ()
const
{
return
(
"SegmentDifferences"
); }
155
};
156
}
157
158
#endif //#ifndef PCL_SEGMENT_DIFFERENCES_H_
Generated on Fri Mar 8 2013 12:50:57 for Point Cloud Library (PCL) by
1.8.3.1