|
Point Cloud Library (PCL)
1.5.1
|
A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coordinates and the surface curvature estimate. More...
#include <pcl/impl/point_types.hpp>


Public Attributes | |
| PCL_ADD_POINT4D | |
| PCL_ADD_NORMAL4D | |
| union { | |
| struct { | |
| union { | |
| struct { | |
| uint8_t b | |
| uint8_t g | |
| uint8_t r | |
| uint8_t _unused | |
| } | |
| float rgb | |
| uint32_t rgba | |
| } | |
| float curvature | |
| } | |
| float data_c [4] | |
| }; | |
A point structure representing Euclidean xyz coordinates, and the RGB color, together with normal coordinates and the surface curvature estimate.
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 uint8_t r = 255, g = 0, b = 0; // Example: Red color uint32_t rgb = ((uint32_t)r << 16 | (uint32_t)g << 8 | (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 uint32_t rgb = *reinterpret_cast<int*>(&p.rgb); uint8_t r = (rgb >> 16) & 0x0000ff; uint8_t g = (rgb >> 8) & 0x0000ff; uint8_t b = (rgb) & 0x0000ff;
Alternatively, from 1.1.0 onwards, you can use p.r, p.g, and p.b directly.
Definition at line 677 of file point_types.hpp.
| union { ... } |
| uint8_t pcl::_PointXYZRGBNormal::_unused |
Definition at line 693 of file point_types.hpp.
| uint8_t pcl::_PointXYZRGBNormal::b |
Definition at line 690 of file point_types.hpp.
Definition at line 698 of file point_types.hpp.
| float pcl::_PointXYZRGBNormal::data_c[4] |
Definition at line 700 of file point_types.hpp.
| uint8_t pcl::_PointXYZRGBNormal::g |
Definition at line 691 of file point_types.hpp.
Definition at line 680 of file point_types.hpp.
Definition at line 679 of file point_types.hpp.
| uint8_t pcl::_PointXYZRGBNormal::r |
Definition at line 692 of file point_types.hpp.
Definition at line 695 of file point_types.hpp.
| uint32_t pcl::_PointXYZRGBNormal::rgba |
Definition at line 696 of file point_types.hpp.
1.8.0