From 30e3b94eb04505151e8de05891b0a21fe9fd7544 Mon Sep 17 00:00:00 2001 From: Mathieu Labbe Date: Wed, 21 Jan 2015 13:57:57 -0500 Subject: [PATCH] fixed parsing double ROS parameters --- src/CoreWrapper.cpp | 10 +++++----- src/OdometryROS.cpp | 22 +++++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/CoreWrapper.cpp b/src/CoreWrapper.cpp index 0724384b..4c400f59 100644 --- a/src/CoreWrapper.cpp +++ b/src/CoreWrapper.cpp @@ -161,16 +161,16 @@ CoreWrapper::CoreWrapper(bool deleteDbOnStart) : ROS_INFO("Setting RTAB-Map parameter \"%s\"=\"%s\"", iter->first.c_str(), uBool2Str(vBool).c_str()); iter->second = uBool2Str(vBool); } - else if(pnh.getParam(iter->first, vInt)) - { - ROS_INFO("Setting RTAB-Map parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vInt).c_str()); - iter->second = uNumber2Str(vInt); - } else if(pnh.getParam(iter->first, vDouble)) { ROS_INFO("Setting RTAB-Map parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vDouble).c_str()); iter->second = uNumber2Str(vDouble); } + else if(pnh.getParam(iter->first, vInt)) + { + ROS_INFO("Setting RTAB-Map parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vInt).c_str()); + iter->second = uNumber2Str(vInt); + } } // Backward compatibility diff --git a/src/OdometryROS.cpp b/src/OdometryROS.cpp index 0a40d9aa..02588d87 100644 --- a/src/OdometryROS.cpp +++ b/src/OdometryROS.cpp @@ -131,22 +131,22 @@ OdometryROS::OdometryROS(int argc, char * argv[]) : ROS_INFO("Setting odometry parameter \"%s\"=\"%s\"", iter->first.c_str(), uBool2Str(vBool).c_str()); iter->second = uBool2Str(vBool); } - else if(pnh.getParam(iter->first, vInt)) - { - ROS_INFO("Setting odometry parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vInt).c_str()); - iter->second = uNumber2Str(vInt); - - if(iter->first.compare(Parameters::kOdomMinInliers()) == 0 && vInt < 8) - { - ROS_WARN("Parameter min_inliers must be >= 8, setting to 8..."); - iter->second = uNumber2Str(8); - } - } else if(pnh.getParam(iter->first, vDouble)) { ROS_INFO("Setting odometry parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vDouble).c_str()); iter->second = uNumber2Str(vDouble); } + else if(pnh.getParam(iter->first, vInt)) + { + ROS_INFO("Setting odometry parameter \"%s\"=\"%s\"", iter->first.c_str(), uNumber2Str(vInt).c_str()); + iter->second = uNumber2Str(vInt); + } + + if(iter->first.compare(Parameters::kOdomMinInliers()) == 0 && atoi(iter->second.c_str()) < 8) + { + ROS_WARN("Parameter min_inliers must be >= 8, setting to 8..."); + iter->second = uNumber2Str(8); + } } // Backward compatibility