@@ -41,6 +41,7 @@ typedef unsigned char TextureTexelFormat;
41
41
#define ENTITY_ID_I32 RGL_FIELD_ENTITY_ID_I32
42
42
#define INTENSITY_F32 RGL_FIELD_INTENSITY_F32
43
43
#define INTENSITY_U8 RGL_FIELD_INTENSITY_U8
44
+ #define REFLECTIVITY_F32 RGL_FIELD_REFLECTIVITY_F32
44
45
#define LASER_RETRO_F32 RGL_FIELD_LASER_RETRO_F32
45
46
#define RING_ID_U16 RGL_FIELD_RING_ID_U16
46
47
#define AZIMUTH_F32 RGL_FIELD_AZIMUTH_F32
@@ -73,6 +74,7 @@ inline const std::set<rgl_field_t>& getAllRealFields()
73
74
ENTITY_ID_I32,
74
75
INTENSITY_F32,
75
76
INTENSITY_U8,
77
+ REFLECTIVITY_F32,
76
78
LASER_RETRO_F32,
77
79
RING_ID_U16,
78
80
AZIMUTH_F32,
@@ -122,6 +124,7 @@ FIELD(RAY_IDX_U32, uint32_t); // PCL uses uint32_t
122
124
FIELD (ENTITY_ID_I32, int32_t );
123
125
FIELD (INTENSITY_F32, float );
124
126
FIELD (INTENSITY_U8, uint8_t );
127
+ FIELD (REFLECTIVITY_F32, float );
125
128
FIELD (LASER_RETRO_F32, float );
126
129
FIELD (IS_HIT_I32, int32_t ); // Signed may be faster
127
130
FIELD (IS_GROUND_I32, int32_t ); // Signed may be faster
@@ -156,6 +159,7 @@ inline std::size_t getFieldSize(rgl_field_t type)
156
159
case IS_GROUND_I32: return Field<IS_GROUND_I32>::size;
157
160
case INTENSITY_F32: return Field<INTENSITY_F32>::size;
158
161
case INTENSITY_U8: return Field<INTENSITY_U8>::size;
162
+ case REFLECTIVITY_F32: return Field<REFLECTIVITY_F32>::size;
159
163
case LASER_RETRO_F32: return Field<LASER_RETRO_F32>::size;
160
164
case RING_ID_U16: return Field<RING_ID_U16>::size;
161
165
case AZIMUTH_F32: return Field<AZIMUTH_F32>::size;
@@ -215,6 +219,7 @@ inline std::shared_ptr<IAnyArray> createArray(rgl_field_t type, Args&&... args)
215
219
case ENTITY_ID_I32: return Subclass<Field<ENTITY_ID_I32>::type>::create (std::forward<Args>(args)...);
216
220
case INTENSITY_F32: return Subclass<Field<INTENSITY_F32>::type>::create (std::forward<Args>(args)...);
217
221
case INTENSITY_U8: return Subclass<Field<INTENSITY_U8>::type>::create (std::forward<Args>(args)...);
222
+ case REFLECTIVITY_F32: return Subclass<Field<REFLECTIVITY_F32>::type>::create (std::forward<Args>(args)...);
218
223
case LASER_RETRO_F32: return Subclass<Field<LASER_RETRO_F32>::type>::create (std::forward<Args>(args)...);
219
224
case RING_ID_U16: return Subclass<Field<RING_ID_U16>::type>::create (std::forward<Args>(args)...);
220
225
case AZIMUTH_F32: return Subclass<Field<AZIMUTH_F32>::type>::create (std::forward<Args>(args)...);
@@ -251,6 +256,7 @@ inline std::string toString(rgl_field_t type)
251
256
case ENTITY_ID_I32: return " ENTITY_ID_I32" ;
252
257
case INTENSITY_F32: return " INTENSITY_F32" ;
253
258
case INTENSITY_U8: return " INTENSITY_U8" ;
259
+ case REFLECTIVITY_F32: return " REFLECTIVITY_F32" ;
254
260
case LASER_RETRO_F32: return " LASER_RETRO_F32" ;
255
261
case RING_ID_U16: return " RING_ID_U16" ;
256
262
case AZIMUTH_F32: return " AZIMUTH_F32" ;
@@ -291,6 +297,7 @@ inline std::vector<uint8_t> toRos2Fields(rgl_field_t type)
291
297
case ENTITY_ID_I32: return {sensor_msgs::msg::PointField::INT32};
292
298
case INTENSITY_F32: return {sensor_msgs::msg::PointField::FLOAT32};
293
299
case INTENSITY_U8: return {sensor_msgs::msg::PointField::UINT8};
300
+ case REFLECTIVITY_F32: return {sensor_msgs::msg::PointField::FLOAT32};
294
301
case LASER_RETRO_F32: return {sensor_msgs::msg::PointField::FLOAT32};
295
302
case RING_ID_U16: return {sensor_msgs::msg::PointField::UINT16};
296
303
case AZIMUTH_F32: return {sensor_msgs::msg::PointField::FLOAT32};
@@ -342,6 +349,7 @@ inline std::vector<std::string> toRos2Names(rgl_field_t type)
342
349
case INTENSITY_F32:
343
350
case INTENSITY_U8:
344
351
return {" intensity" };
352
+ case REFLECTIVITY_F32: return {" reflectivity" };
345
353
case LASER_RETRO_F32: return {" laser_retro" };
346
354
case RING_ID_U16: return {" channel" };
347
355
case AZIMUTH_F32: return {" azimuth" };
0 commit comments