read-only support (#1397)

This commit is contained in:
matlabbe
2026-01-22 16:00:40 -08:00
committed by GitHub
parent 2f258bdae0
commit 758b7fa4cd
2 changed files with 16 additions and 7 deletions
+15 -6
View File
@@ -888,15 +888,24 @@ CoreWrapper::~CoreWrapper()
this->saveParameters(configPath_);
printf("rtabmap: Saving database/long-term memory... (located at %s)\n", databasePath_.c_str());
bool saveDatabase = true;
if(rtabmap_.getMemory())
{
// save the grid map
float xMin=0.0f, yMin=0.0f, gridCellSize = 0.05f;
cv::Mat pixels = mapsManager_.getGridMap(xMin, yMin, gridCellSize);
if(!pixels.empty())
if(!rtabmap_.getMemory()->isReadOnly())
{
printf("rtabmap: 2D occupancy grid map saved.\n");
rtabmap_.getMemory()->save2DMap(pixels, xMin, yMin, gridCellSize);
// save the grid map
float xMin=0.0f, yMin=0.0f, gridCellSize = 0.05f;
cv::Mat pixels = mapsManager_.getGridMap(xMin, yMin, gridCellSize);
if(!pixels.empty())
{
printf("rtabmap: 2D occupancy grid map saved.\n");
rtabmap_.getMemory()->save2DMap(pixels, xMin, yMin, gridCellSize);
}
}
else
{
printf("rtabmap: Database is read-only, the current state of the memory is not saved.\n");
saveDatabase = false;
}
}