Fixes for rtabmap_viz info sub only (with local cache)

This commit is contained in:
matlabbe
2023-06-16 16:30:07 -07:00
parent d031d79369
commit f75839294a

View File

@@ -2212,7 +2212,9 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
UDEBUG("time= %d ms (update detection ui)", time.restart()); UDEBUG("time= %d ms (update detection ui)", time.restart());
//update image views //update image views
if(!signature.sensorData().imageRaw().empty() || signature.getWords().size()) if(!signature.sensorData().imageRaw().empty() ||
!loopSignature.sensorData().imageRaw().empty() ||
signature.getWords().size())
{ {
cv::Mat refImage = signature.sensorData().imageRaw(); cv::Mat refImage = signature.sensorData().imageRaw();
cv::Mat loopImage = loopSignature.sensorData().imageRaw(); cv::Mat loopImage = loopSignature.sensorData().imageRaw();
@@ -2393,7 +2395,10 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
//====================== //======================
// RGB-D Mapping stuff // RGB-D Mapping stuff
//====================== //======================
_odometryCorrection = stat.mapCorrection(); if(!stat.mapCorrection().isNull())
{
_odometryCorrection = stat.mapCorrection();
}
// update clouds // update clouds
if(stat.poses().size()) if(stat.poses().size())
{ {
@@ -7205,6 +7210,11 @@ void MainWindow::updateCacheFromDatabase(const QString & path)
signatures.insert(std::make_pair((*iter)->id(), *(*iter))); signatures.insert(std::make_pair((*iter)->id(), *(*iter)));
delete *iter; delete *iter;
} }
if(_currentPosesMap.empty() && _currentLinksMap.empty())
{
_currentPosesMap = driver->loadOptimizedPoses();
driver->getAllLinks(_currentLinksMap, true, true);
}
RtabmapEvent3DMap event(signatures, _currentPosesMap, _currentLinksMap); RtabmapEvent3DMap event(signatures, _currentPosesMap, _currentLinksMap);
processRtabmapEvent3DMap(event); processRtabmapEvent3DMap(event);
} }