Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
pcl::PCLPointCloud2 Struct Reference

#include <pcl/PCLPointCloud2.h>

+ Collaboration diagram for pcl::PCLPointCloud2:

Public Types

using Ptr = shared_ptr< ::pcl::PCLPointCloud2 >
 
using ConstPtr = shared_ptr< const ::pcl::PCLPointCloud2 >
 

Public Member Functions

PCLPointCloud2operator+= (const PCLPointCloud2 &rhs)
 Add a point cloud to the current cloud. More...
 
PCLPointCloud2 operator+ (const PCLPointCloud2 &rhs)
 Add a point cloud to another cloud. More...
 
template<typename T >
const T & at (const pcl::uindex_t &point_index, const pcl::uindex_t &field_offset) const
 Get value at specified offset. More...
 
template<typename T >
T & at (const pcl::uindex_t &point_index, const pcl::uindex_t &field_offset)
 Get value at specified offset. More...
 

Static Public Member Functions

static bool concatenate (pcl::PCLPointCloud2 &cloud1, const pcl::PCLPointCloud2 &cloud2)
 Inplace concatenate two pcl::PCLPointCloud2. More...
 
static bool concatenate (const PCLPointCloud2 &cloud1, const PCLPointCloud2 &cloud2, PCLPointCloud2 &cloud_out)
 Concatenate two pcl::PCLPointCloud2. More...
 

Public Attributes

::pcl::PCLHeader header
 
uindex_t height = 0
 
uindex_t width = 0
 
std::vector<::pcl::PCLPointFieldfields
 
std::uint8_t is_bigendian = BOOST_ENDIAN_BIG_BYTE
 
uindex_t point_step = 0
 
uindex_t row_step = 0
 
std::vector< std::uint8_t > data
 
std::uint8_t is_dense = 0
 

Detailed Description

Definition at line 16 of file PCLPointCloud2.h.

Member Typedef Documentation

◆ ConstPtr

Definition at line 36 of file PCLPointCloud2.h.

◆ Ptr

Definition at line 35 of file PCLPointCloud2.h.

Member Function Documentation

◆ at() [1/2]

template<typename T >
T& pcl::PCLPointCloud2::at ( const pcl::uindex_t point_index,
const pcl::uindex_t field_offset 
)
inline

Get value at specified offset.

Parameters
[in]point_indexpoint index.
[in]field_offsetoffset.
Returns
value at the given offset.

Definition at line 109 of file PCLPointCloud2.h.

◆ at() [2/2]

template<typename T >
const T& pcl::PCLPointCloud2::at ( const pcl::uindex_t point_index,
const pcl::uindex_t field_offset 
) const
inline

Get value at specified offset.

Parameters
[in]point_indexpoint index.
[in]field_offsetoffset.
Returns
value at the given offset.

Definition at line 95 of file PCLPointCloud2.h.

◆ concatenate() [1/2]

static bool pcl::PCLPointCloud2::concatenate ( const PCLPointCloud2 cloud1,
const PCLPointCloud2 cloud2,
PCLPointCloud2 cloud_out 
)
inlinestatic

Concatenate two pcl::PCLPointCloud2.

Parameters
[in]cloud1the first input point cloud dataset
[in]cloud2the second input point cloud dataset
[out]cloud_outthe resultant output point cloud dataset
Returns
true if successful, false if failed (e.g., name/number of fields differs)

Definition at line 64 of file PCLPointCloud2.h.

References pcl::concatenate().

◆ concatenate() [2/2]

static bool pcl::PCLPointCloud2::concatenate ( pcl::PCLPointCloud2 cloud1,
const pcl::PCLPointCloud2 cloud2 
)
static

Inplace concatenate two pcl::PCLPointCloud2.

IFF the layout of all the fields in both the clouds is the same, this command doesn't remove any fields named "_" (aka marked as skip). For comparison of field names, "rgb" and "rgba" are considered equivalent However, if the order and/or number of non-skip fields is different, the skip fields are dropped and non-skip fields copied selectively. This function returns an error if

  • the total number of non-skip fields is different
  • the non-skip field names are named differently (excluding "rbg{a}") in serial order
  • the endian-ness of both clouds is different
    Parameters
    [in,out]cloud1the first input and output point cloud dataset
    [in]cloud2the second input point cloud dataset
    Returns
    true if successful, false if failed (e.g., name/number of fields differs)

Referenced by pcl::concatenate(), and pcl::PolygonMesh::concatenate().

◆ operator+()

PCLPointCloud2 pcl::PCLPointCloud2::operator+ ( const PCLPointCloud2 rhs)
inline

Add a point cloud to another cloud.

Parameters
[in]rhsthe cloud to add to the current cloud
Returns
the new cloud as a concatenation of the current cloud and the new given cloud

Definition at line 84 of file PCLPointCloud2.h.

◆ operator+=()

PCLPointCloud2& pcl::PCLPointCloud2::operator+= ( const PCLPointCloud2 rhs)

Add a point cloud to the current cloud.

Parameters
[in]rhsthe cloud to add to the current cloud
Returns
the new cloud as a concatenation of the current cloud and the new given cloud

Member Data Documentation

◆ data

std::vector<std::uint8_t> pcl::PCLPointCloud2::data

◆ fields

std::vector<::pcl::PCLPointField> pcl::PCLPointCloud2::fields

◆ header

::pcl::PCLHeader pcl::PCLPointCloud2::header

Definition at line 18 of file PCLPointCloud2.h.

Referenced by pcl::fromPCLPointCloud2(), and pcl::toPCLPointCloud2().

◆ height

uindex_t pcl::PCLPointCloud2::height = 0

◆ is_bigendian

std::uint8_t pcl::PCLPointCloud2::is_bigendian = BOOST_ENDIAN_BIG_BYTE

Definition at line 26 of file PCLPointCloud2.h.

◆ is_dense

std::uint8_t pcl::PCLPointCloud2::is_dense = 0

◆ point_step

uindex_t pcl::PCLPointCloud2::point_step = 0

◆ row_step

uindex_t pcl::PCLPointCloud2::row_step = 0

Definition at line 28 of file PCLPointCloud2.h.

Referenced by pcl::fromPCLPointCloud2(), and pcl::toPCLPointCloud2().

◆ width

uindex_t pcl::PCLPointCloud2::width = 0

The documentation for this struct was generated from the following file: