From 18f84febc133d0745864f2d72d16715bf546d5c6 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Thu, 24 Jul 2014 17:27:43 +0000 Subject: [PATCH] OdometryEvent: set quality to -1 when not set. git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1611 f169173b-cf89-36c8-b27e-44dbe73f0c83 --- corelib/include/rtabmap/core/OdometryEvent.h | 2 +- guilib/src/MainWindow.cpp | 7 +++++-- guilib/src/OdometryViewer.cpp | 7 ++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/corelib/include/rtabmap/core/OdometryEvent.h b/corelib/include/rtabmap/core/OdometryEvent.h index fe1b0d6b..5c951174 100644 --- a/corelib/include/rtabmap/core/OdometryEvent.h +++ b/corelib/include/rtabmap/core/OdometryEvent.h @@ -17,7 +17,7 @@ class OdometryEvent : public UEvent { public: OdometryEvent( - const Image & data, int quality = 0) : + const Image & data, int quality = -1) : _data(data), _quality(quality) {} virtual ~OdometryEvent() {} diff --git a/guilib/src/MainWindow.cpp b/guilib/src/MainWindow.cpp index af61cb57..aee8aacd 100644 --- a/guilib/src/MainWindow.cpp +++ b/guilib/src/MainWindow.cpp @@ -550,7 +550,7 @@ void MainWindow::processOdometry(const rtabmap::Image & data, int quality) pose = _lastOdomPose; } - else if(quality && + else if(quality>=0 && _preferencesDialog->getOdomQualityWarnThr() && quality < _preferencesDialog->getOdomQualityWarnThr()) { @@ -562,7 +562,10 @@ void MainWindow::processOdometry(const rtabmap::Image & data, int quality) UDEBUG("odom ok"); _ui->widget_cloudViewer->setBackgroundColor(Qt::black); } - _ui->statsToolBox->updateStat("/Odom inliers/", (float)data.id(), (float)quality); + if(quality >= 0) + { + _ui->statsToolBox->updateStat("/Odom inliers/", (float)data.id(), (float)quality); + } if(!pose.isNull()) { _lastOdomPose = pose; diff --git a/guilib/src/OdometryViewer.cpp b/guilib/src/OdometryViewer.cpp index 5a12996e..49a65c46 100644 --- a/guilib/src/OdometryViewer.cpp +++ b/guilib/src/OdometryViewer.cpp @@ -23,6 +23,7 @@ namespace rtabmap { OdometryViewer::OdometryViewer(int maxClouds, int decimation, float voxelSize, int qualityWarningThr, QWidget * parent) : CloudViewer(parent), + dataQuality_(-1), lastOdomPose_(Transform::getIdentity()), maxClouds_(maxClouds), voxelSize_(voxelSize), @@ -50,14 +51,14 @@ OdometryViewer::OdometryViewer(int maxClouds, int decimation, float voxelSize, i void OdometryViewer::processData() { rtabmap::Image data; - int quality = 0; + int quality = -1; dataMutex_.lock(); if(data_.size()) { data = data_.back(); data_.clear(); quality = dataQuality_; - dataQuality_ = 0; + dataQuality_ = -1; } dataMutex_.unlock(); @@ -109,7 +110,7 @@ void OdometryViewer::processData() this->updateCameraPosition(data.pose()); - if(qualityWarningThr_ && quality && quality < qualityWarningThr_) + if(qualityWarningThr_ && quality>=0 && quality < qualityWarningThr_) { this->setBackgroundColor(Qt::darkYellow); }