Point Cloud Library (PCL)
1.15.1
Toggle main menu visibility
Loading...
Searching...
No Matches
pcl
ml
multi_channel_2d_comparison_feature.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Point Cloud Library (PCL) - www.pointclouds.org
5
* Copyright (c) 2010-2011, Willow Garage, 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 Willow Garage, Inc. 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/common/common.h
>
41
42
#include <istream>
43
#include <ostream>
44
45
namespace
pcl
{
46
47
/** Feature for comparing two sample points in 2D multi-channel data. */
48
template
<
class
Po
int
T>
49
class
PCL_EXPORTS
MultiChannel2DComparisonFeature
{
50
public
:
51
/** Constructor. */
52
MultiChannel2DComparisonFeature
() :
p1
(),
p2
(),
channel
(0) {}
53
54
/** Destructor. */
55
virtual
~MultiChannel2DComparisonFeature
() =
default
;
56
57
/** Serializes the feature to a stream.
58
*
59
* \param[out] stream the destination for the serialization
60
*/
61
inline
void
62
serialize
(std::ostream& stream)
const
63
{
64
p1
.serialize(stream);
65
p2
.serialize(stream);
66
stream.write(
reinterpret_cast<
const
char
*
>
(&
channel
),
sizeof
(
channel
));
67
}
68
69
/** Deserializes the feature from a stream.
70
*
71
* \param[in] stream the source for the deserialization
72
*/
73
inline
void
74
deserialize
(std::istream& stream)
75
{
76
p1
.deserialize(stream);
77
p2
.deserialize(stream);
78
stream.read(
reinterpret_cast<
char
*
>
(&
channel
),
sizeof
(
channel
));
79
}
80
81
public
:
82
/** First sample point. */
83
PointT
p1
;
84
/** Second sample point. */
85
PointT
p2
;
86
/** Specifies which channel is used for comparison. */
87
unsigned
char
channel
;
88
};
89
90
}
// namespace pcl
pcl::MultiChannel2DComparisonFeature::channel
unsigned char channel
Specifies which channel is used for comparison.
Definition
multi_channel_2d_comparison_feature.h:87
pcl::MultiChannel2DComparisonFeature::p2
PointT p2
Second sample point.
Definition
multi_channel_2d_comparison_feature.h:85
pcl::MultiChannel2DComparisonFeature::deserialize
void deserialize(std::istream &stream)
Deserializes the feature from a stream.
Definition
multi_channel_2d_comparison_feature.h:74
pcl::MultiChannel2DComparisonFeature::MultiChannel2DComparisonFeature
MultiChannel2DComparisonFeature()
Constructor.
Definition
multi_channel_2d_comparison_feature.h:52
pcl::MultiChannel2DComparisonFeature::~MultiChannel2DComparisonFeature
virtual ~MultiChannel2DComparisonFeature()=default
Destructor.
pcl::MultiChannel2DComparisonFeature::p1
PointT p1
First sample point.
Definition
multi_channel_2d_comparison_feature.h:83
pcl::MultiChannel2DComparisonFeature::serialize
void serialize(std::ostream &stream) const
Serializes the feature to a stream.
Definition
multi_channel_2d_comparison_feature.h:62
common.h
Define standard C methods and C++ classes that are common to all methods.
pcl
Definition
convolution.h:46