Point Cloud Library (PCL)
1.10.0
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
() {}
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
This file defines compatibility wrappers for low level I/O functions.
Definition:
convolution.h:45
common.h
pcl::MultiChannel2DComparisonFeature::MultiChannel2DComparisonFeature
MultiChannel2DComparisonFeature()
Constructor.
Definition:
multi_channel_2d_comparison_feature.h:52
pcl::PointXYZRGB
A point structure representing Euclidean xyz coordinates, and the RGB color.
Definition:
point_types.hpp:623
pcl::MultiChannel2DComparisonFeature::channel
unsigned char channel
Specifies which channel is used for comparison.
Definition:
multi_channel_2d_comparison_feature.h:87
pcl::MultiChannel2DComparisonFeature::serialize
void serialize(std::ostream &stream) const
Serializes the feature to a stream.
Definition:
multi_channel_2d_comparison_feature.h:62
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
virtual ~MultiChannel2DComparisonFeature()
Destructor.
Definition:
multi_channel_2d_comparison_feature.h:55
pcl::MultiChannel2DComparisonFeature::p2
PointT p2
Second sample point.
Definition:
multi_channel_2d_comparison_feature.h:85
pcl::MultiChannel2DComparisonFeature::p1
PointT p1
First sample point.
Definition:
multi_channel_2d_comparison_feature.h:83
pcl::MultiChannel2DComparisonFeature
Feature for comparing two sample points in 2D multi-channel data.
Definition:
multi_channel_2d_comparison_feature.h:49
PCL_EXPORTS
#define PCL_EXPORTS
Definition:
pcl_macros.h:253