PointCloudPackedIterator< FieldType > Class Template Reference
Class that can iterate over a PointCloudPacked message. More...
#include <PointCloudPackedUtils.hh>
Public Member Functions | |
PointCloudPackedIterator (PointCloudPacked &_cloudMsg, const std::string &_fieldName) | |
Detailed Description
template<typename FieldType>
class ignition::msgs::PointCloudPackedIterator< FieldType >
Class that can iterate over a PointCloudPacked message.
E.g, you create your message and reserve space for data as follows:
PointCloudPacked pcMsg;
{{"a", PointCloudPacked::Field::FLOAT32}});
pcMsg.mutable_data()->resize(numPts * pcMsg.point_step());
For iterating over "a", you do :
PointCloudPackedIterator<float> iterA(pcMsg, "a");
And then access it through iterA[0] or *iterA.
For iterating over RGBA, you can access each element as uint8_t:
PointCloudPackedIterator<uint8_t> iterR(pcMsg, "r");
PointCloudPackedIterator<uint8_t> iterG(pcMsg, "g");
PointCloudPackedIterator<uint8_t> iterB(pcMsg, "b");
PointCloudPackedIterator<uint8_t> iterA(pcMsg, "a");
- Template Parameters
-
FieldType Type of the element being iterated upon
Constructor & Destructor Documentation
◆ PointCloudPackedIterator()
|
inline |
The documentation for this class was generated from the following file:
static const DataType FLOAT32
Definition: pointcloud_packed.pb.h:207
void InitPointCloudPacked(msgs::PointCloudPacked &_msg, const std::string &_frameId, bool _memoryAligned, const std::vector< std::pair< std::string, msgs::PointCloudPacked::Field::DataType >> &_fields)
This function will set the header and field members of a PointCloudPacked message....