Skip to content

Commit 8acbc10

Browse files
committed
FilterDeskew: guard against new MRPT behavior to keep all field lengths in sync
1 parent 74c5bc0 commit 8acbc10

1 file changed

Lines changed: 5 additions & 9 deletions

File tree

mp2p_icp_filters/src/FilterDeskew.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -354,26 +354,22 @@ void correctPointsLoop(const CorrectPointsArguments& args)
354354
{
355355
outPc->setPointFast(n0 + i, corrPt.x, corrPt.y, corrPt.z);
356356

357-
// Copy additional fields using the insertion context:
358-
#if MRPT_VERSION >= 0x020f02 // >=2.15.2
357+
// Copy additional fields using the insertion context:
359358
for (auto& [src, dst] : ctxCopyPointFields->double_fields)
360359
{
361-
(*dst)[n0 + i] = (*src)[i];
360+
(*dst)[n0 + i] = src ? (*src)[i] : 0.0;
362361
}
363-
#endif
364-
#if MRPT_VERSION >= 0x020f03 // >=2.15.3
365362
for (auto& [src, dst] : ctxCopyPointFields->uint8_fields)
366363
{
367-
(*dst)[n0 + i] = (*src)[i];
364+
(*dst)[n0 + i] = src ? (*src)[i] : uint8_t{0};
368365
}
369-
#endif
370366
for (auto& [src, dst] : ctxCopyPointFields->float_fields)
371367
{
372-
(*dst)[n0 + i] = (*src)[i];
368+
(*dst)[n0 + i] = src ? (*src)[i] : 0.0f;
373369
}
374370
for (auto& [src, dst] : ctxCopyPointFields->uint16_fields)
375371
{
376-
(*dst)[n0 + i] = (*src)[i];
372+
(*dst)[n0 + i] = src ? (*src)[i] : uint16_t{0};
377373
}
378374
}
379375
}

0 commit comments

Comments
 (0)