15 #include <mrpt/core/exceptions.h>
16 #include <mrpt/maps/CPointsMapXYZI.h>
17 #include <mrpt/maps/CPointsMapXYZIRT.h>
22 const size_t n = pc.size();
24 if (
auto* pcIRT =
dynamic_cast<const mrpt::maps::CPointsMapXYZIRT*
>(&pc); pcIRT)
26 if (pcIRT->hasIntensityField() && pcIRT->getPointsBufferRef_intensity()->size() != n)
30 std::cerr <<
"[mp2p_icp] XYZIRT WARNING: Intensity channel has "
32 << pcIRT->getPointsBufferRef_intensity()->size() <<
" expected=" << n
35 if (pcIRT->hasRingField() && pcIRT->getPointsBufferRef_ring()->size() != n)
39 std::cerr <<
"[mp2p_icp] XYZIRT WARNING: Ring channel has "
41 << pcIRT->getPointsBufferRef_ring()->size() <<
" expected=" << n
44 if (pcIRT->hasTimeField() && pcIRT->getPointsBufferRef_timestamp()->size() != n)
48 std::cerr <<
"[mp2p_icp] XYZIRT WARNING: Timestamp channel has "
50 << pcIRT->getPointsBufferRef_timestamp()->size() <<
" expected=" << n
54 else if (
auto* pcI =
dynamic_cast<const mrpt::maps::CPointsMapXYZI*
>(&pc); pcI)
56 if (pcI->getPointsBufferRef_intensity() && pcI->getPointsBufferRef_intensity()->size() != n)
60 std::cerr <<
"[mp2p_icp] XYZI WARNING: Intensity channel has "
62 << pcI->getPointsBufferRef_intensity()->size() <<
" expected=" << n