Fixing getNodeData missing compressed grids

This commit is contained in:
matlabbe
2026-09-26 13:09:13 -07:00
parent 16fb2f0541
commit fff389cc56
5 changed files with 102 additions and 2 deletions
+4 -1
View File
@@ -707,7 +707,10 @@ void DBDriver::getNodeData(
((!images || !s->sensorData().imageCompressed().empty()) &&
(!scan || !s->sensorData().laserScanCompressed().isEmpty()) &&
(!userData || !s->sensorData().userDataCompressed().empty()) &&
(!occupancyGrid || s->sensorData().gridCellSize() != 0.0f))))
(!occupancyGrid ||
!s->sensorData().gridGroundCellsCompressed().empty() ||
!s->sensorData().gridObstacleCellsCompressed().empty() ||
!s->sensorData().gridEmptyCellsCompressed().empty()))))
{
data = (SensorData)s->sensorData();
if(!images)
+4 -1
View File
@@ -4795,7 +4795,10 @@ SensorData Memory::getNodeData(int locationId, bool images, bool scan, bool user
((!images || !s->sensorData().imageCompressed().empty()) &&
(!scan || !s->sensorData().laserScanCompressed().isEmpty()) &&
(!userData || !s->sensorData().userDataCompressed().empty()) &&
(!occupancyGrid || s->sensorData().gridCellSize() != 0.0f))))
(!occupancyGrid ||
!s->sensorData().gridGroundCellsCompressed().empty() ||
!s->sensorData().gridObstacleCellsCompressed().empty() ||
!s->sensorData().gridEmptyCellsCompressed().empty()))))
{
r = s->sensorData();
if(!images)
+5
View File
@@ -5920,6 +5920,11 @@ Signature Rtabmap::getSignatureCopy(int id, bool images, bool scan, bool userDat
s.sensorData().setGlobalDescriptors(globalDescriptors);
}
}
if(!withGlobalDescriptors)
{
// Node data taken from memory comes with its global descriptors.
s.sensorData().clearGlobalDescriptors();
}
if(velocity.size()==6)
{
s.setVelocity(velocity[0], velocity[1], velocity[2], velocity[3], velocity[4], velocity[5]);