A point structure representing Euclidean xyz coordinates, and the RGB color. More...
#include <pcl/impl/point_types.hpp>
A point structure representing Euclidean xyz coordinates, and the RGB color.
Due to historical reasons (PCL was first developed as a ROS package), the RGB information is packed into an integer and casted to a float. This is something we wish to remove in the near future, but in the meantime, the following code snippet should help you pack and unpack RGB colors in your PointXYZRGB structure:
// pack r/g/b into rgb
std::uint8_t r = 255, g = 0, b = 0; // Example: Red color
std::uint32_t rgb = ((std::uint32_t)r << 16 | (std::uint32_t)g << 8 | (std::uint32_t)b);
p.rgb = *reinterpret_cast<float*>(&rgb);
To unpack the data into separate values, use:
PointXYZRGB p;
// unpack rgb into r/g/b
std::uint32_t rgb = *reinterpret_cast<int*>(&p.rgb);
std::uint8_t r = (rgb >> 16) & 0x0000ff;
std::uint8_t g = (rgb >> 8) & 0x0000ff;
std::uint8_t b = (rgb) & 0x0000ff;
pcl::PointXYZRGB::PointXYZRGBconstexpr PointXYZRGB()Definition: point_types.hpp:626
pcl::PointXYZRGB::PointXYZRGB
constexpr PointXYZRGB()
Definition: point_types.hpp:626
Alternatively, from 1.1.0 onwards, you can use p.r, p.g, and p.b directly.
Definition at line 622 of file point_types.hpp.
PointXYZRGB() [1/5]
constexpr pcl::PointXYZRGB::PointXYZRGB |
( |
const _PointXYZRGB & |
p |
) |
|
|
inlineconstexpr |
PointXYZRGB() [2/5]
constexpr pcl::PointXYZRGB::PointXYZRGB |
( |
|
) |
|
|
inlineconstexpr |
PointXYZRGB() [3/5]
constexpr pcl::PointXYZRGB::PointXYZRGB |
( |
std::uint8_t |
_r, |
|
|
std::uint8_t |
_g, |
|
|
std::uint8_t |
_b |
|
) |
|
|
|
inlineconstexpr |
PointXYZRGB() [4/5]
constexpr pcl::PointXYZRGB::PointXYZRGB |
( |
float |
_x, |
|
|
float |
_y, |
|
|
float |
_z |
|
) |
|
|
|
inlineconstexpr |
PointXYZRGB() [5/5]
constexpr pcl::PointXYZRGB::PointXYZRGB |
( |
float |
_x, |
|
|
float |
_y, |
|
|
float |
_z, |
|
|
std::uint8_t |
_r, |
|
|
std::uint8_t |
_g, |
|
|
std::uint8_t |
_b |
|
) |
|
|
|
inlineconstexpr |
operator<<
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const PointXYZRGB & |
p |
|
) |
|
|
|
friend |
The documentation for this struct was generated from the following file: