Memory::getNodeData() removing not wanted data if the node with all its data has been found in working memory.

This commit is contained in:
matlabbe
2020-06-22 22:29:26 -04:00
parent 846bd59d0b
commit c19f81ac12
2 changed files with 32 additions and 0 deletions

View File

@@ -690,6 +690,22 @@ void DBDriver::getNodeData(
(!occupancyGrid || s->sensorData().gridCellSize() != 0.0f))))
{
data = (SensorData)s->sensorData();
if(!images)
{
data.setRGBDImage(cv::Mat(), cv::Mat(), std::vector<CameraModel>());
}
if(!scan)
{
data.setLaserScan(LaserScan());
}
if(!userData)
{
data.setUserData(cv::Mat());
}
if(!occupancyGrid)
{
data.setOccupancyGrid(cv::Mat(), cv::Mat(), cv::Mat(), 0, cv::Point3f());
}
found = true;
}
}

View File

@@ -3847,6 +3847,22 @@ SensorData Memory::getNodeData(int locationId, bool images, bool scan, bool user
(!occupancyGrid || s->sensorData().gridCellSize() != 0.0f))))
{
r = s->sensorData();
if(!images)
{
r.setRGBDImage(cv::Mat(), cv::Mat(), std::vector<CameraModel>());
}
if(!scan)
{
r.setLaserScan(LaserScan());
}
if(!userData)
{
r.setUserData(cv::Mat());
}
if(!occupancyGrid)
{
r.setOccupancyGrid(cv::Mat(), cv::Mat(), cv::Mat(), 0, cv::Point3f());
}
}
else if(_dbDriver)
{