From 133ed6815235088485aa1f372658a073947443bf Mon Sep 17 00:00:00 2001 From: matlabbe Date: Wed, 31 May 2017 11:33:51 -0400 Subject: [PATCH] Parameters --params: don't show those related to dependencies not built in RTAB-Map --- corelib/src/Parameters.cpp | 46 +++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/corelib/src/Parameters.cpp b/corelib/src/Parameters.cpp index cef5c45c..c63a6cd8 100644 --- a/corelib/src/Parameters.cpp +++ b/corelib/src/Parameters.cpp @@ -620,14 +620,44 @@ ParametersMap Parameters::parseArguments(int argc, char * argv[], bool onlyParam { for(rtabmap::ParametersMap::const_iterator iter=parameters.begin(); iter!=parameters.end(); ++iter) { - std::string str = "Param: " + iter->first + " = \"" + iter->second + "\""; - std::cout << - str << - std::setw(60 - str.size()) << - " [" << - rtabmap::Parameters::getDescription(iter->first).c_str() << - "]" << - std::endl; + bool ignore = false; + UASSERT(uSplit(iter->first, '/').size() == 2); + std::string group = uSplit(iter->first, '/').front(); +#ifndef RTABMAP_GTSAM + if(group.compare("GTSAM") == 0) + { + ignore = true; + } +#endif +#ifndef RTABMAP_G2O + if(group.compare("g2o") == 0) + { + ignore = true; + } +#endif +#ifndef RTABMAP_FOVIS + if(group.compare("OdomFovis") == 0) + { + ignore = true; + } +#endif +#ifndef RTABMAP_VISO2 + if(group.compare("OdomViso2") == 0) + { + ignore = true; + } +#endif + if(!ignore) + { + std::string str = "Param: " + iter->first + " = \"" + iter->second + "\""; + std::cout << + str << + std::setw(60 - str.size()) << + " [" << + rtabmap::Parameters::getDescription(iter->first).c_str() << + "]" << + std::endl; + } } UWARN("App will now exit after showing default RTAB-Map parameters because " "argument \"--params\" is detected!");