Point Cloud Library (PCL)
1.12.0
Loading...
Searching...
No Matches
pcl
PCLPointField.h
1
#pragma once
2
3
#include <
pcl/memory.h
>
// for shared_ptr
4
#include <pcl/type_traits.h>
// for asEnum_v
5
#include <
pcl/types.h
>
// for index_t
6
7
#include <string>
// for string
8
#include <ostream>
// for ostream
9
10
namespace
pcl
11
{
12
struct
PCLPointField
13
{
14
std::string
name
;
15
16
uindex_t
offset
= 0;
17
std::uint8_t
datatype
= 0;
18
uindex_t
count
= 0;
19
20
enum
PointFieldTypes
{
INT8
= traits::asEnum_v<std::int8_t>,
21
UINT8
= traits::asEnum_v<std::uint8_t>,
22
INT16
= traits::asEnum_v<std::int16_t>,
23
UINT16
= traits::asEnum_v<std::uint16_t>,
24
INT32
= traits::asEnum_v<std::int32_t>,
25
UINT32
= traits::asEnum_v<std::uint32_t>,
26
FLOAT32
= traits::asEnum_v<float>,
27
FLOAT64
= traits::asEnum_v<double>};
28
29
public
:
30
using
Ptr
=
shared_ptr< ::pcl::PCLPointField>
;
31
using
ConstPtr
=
shared_ptr<const ::pcl::PCLPointField>
;
32
};
// struct PCLPointField
33
34
using
PCLPointFieldPtr
=
PCLPointField::Ptr
;
35
using
PCLPointFieldConstPtr
=
PCLPointField::ConstPtr
;
36
37
inline
std::ostream&
operator<<
(std::ostream& s, const ::pcl::PCLPointField & v)
38
{
39
s <<
"name: "
;
40
s <<
" "
<< v.name << std::endl;
41
s <<
"offset: "
;
42
s <<
" "
<< v.offset << std::endl;
43
s <<
"datatype: "
;
44
s <<
" "
<< v.datatype << std::endl;
45
s <<
"count: "
;
46
s <<
" "
<< v.count << std::endl;
47
return
(s);
48
}
49
50
// Return true if the PCLPointField matches the expected name and data type.
51
// Written as a struct to allow partially specializing on Tag.
52
template
<
typename
Po
int
T,
typename
Tag>
53
struct
FieldMatches
54
{
55
bool
operator()
(
const
PCLPointField
&
field
)
56
{
57
return
((
field
.name == traits::name<PointT, Tag>::value) &&
58
(
field
.datatype == traits::datatype<PointT, Tag>::value) &&
59
((
field
.count == traits::datatype<PointT, Tag>::size) ||
60
(
field
.count == 0 && traits::datatype<PointT, Tag>::size == 1
/* see bug #821 */
)));
61
}
62
};
63
64
}
// namespace pcl
65
pcl::ConstCloudIterator
Iterator class for point clouds with or without given indices.
Definition
cloud_iterator.h:121
memory.h
Defines functions, macros and traits for allocating and using memory.
pcl
Definition
convolution.h:46
pcl::operator<<
std::ostream & operator<<(std::ostream &os, const BivariatePolynomialT< real > &p)
Definition
bivariate_polynomial.hpp:240
pcl::uindex_t
detail::int_type_t< detail::index_type_size, false > uindex_t
Type used for an unsigned index in PCL.
Definition
types.h:120
pcl::FieldMatches
Definition
PCLPointField.h:54
pcl::FieldMatches::operator()
bool operator()(const PCLPointField &field)
Definition
PCLPointField.h:55
pcl::PCLPointField
Definition
PCLPointField.h:13
pcl::PCLPointField::PointFieldTypes
PointFieldTypes
Definition
PCLPointField.h:20
pcl::PCLPointField::UINT16
@ UINT16
Definition
PCLPointField.h:23
pcl::PCLPointField::FLOAT32
@ FLOAT32
Definition
PCLPointField.h:26
pcl::PCLPointField::UINT8
@ UINT8
Definition
PCLPointField.h:21
pcl::PCLPointField::INT16
@ INT16
Definition
PCLPointField.h:22
pcl::PCLPointField::FLOAT64
@ FLOAT64
Definition
PCLPointField.h:27
pcl::PCLPointField::UINT32
@ UINT32
Definition
PCLPointField.h:25
pcl::PCLPointField::INT8
@ INT8
Definition
PCLPointField.h:20
pcl::PCLPointField::INT32
@ INT32
Definition
PCLPointField.h:24
pcl::PCLPointField::offset
uindex_t offset
Definition
PCLPointField.h:16
pcl::PCLPointField::name
std::string name
Definition
PCLPointField.h:14
pcl::PCLPointField::ConstPtr
shared_ptr< const ::pcl::PCLPointField > ConstPtr
Definition
PCLPointField.h:31
pcl::PCLPointField::datatype
std::uint8_t datatype
Definition
PCLPointField.h:17
pcl::PCLPointField::count
uindex_t count
Definition
PCLPointField.h:18
pcl::PCLPointField::Ptr
shared_ptr< ::pcl::PCLPointField > Ptr
Definition
PCLPointField.h:30
types.h
Defines basic non-point types used by PCL.