From 001df6a17dd1706de0589d5f8beba9678af8dd47 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Sat, 29 Mar 2025 14:52:04 -0700 Subject: [PATCH] GUI/Download map: Fixed parameters not read when downloading map --- rtabmap_viz/CMakeLists.txt | 9 ++++++++- rtabmap_viz/include/rtabmap_viz/PreferencesDialogROS.h | 3 ++- rtabmap_viz/src/PreferencesDialogROS.cpp | 8 ++++++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/rtabmap_viz/CMakeLists.txt b/rtabmap_viz/CMakeLists.txt index 5e02ca65..5c196b6c 100644 --- a/rtabmap_viz/CMakeLists.txt +++ b/rtabmap_viz/CMakeLists.txt @@ -33,11 +33,18 @@ include_directories( ${catkin_INCLUDE_DIRS} ) -add_executable(rtabmap_viz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp) +add_executable(rtabmap_viz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp include/${PROJECT_NAME}/PreferencesDialogROS.h) IF(Qt5_FOUND) QT5_USE_MODULES(rtabmap_viz Widgets Core Gui) ENDIF(Qt5_FOUND) target_link_libraries(rtabmap_viz ${catkin_LIBRARIES}) +SET_TARGET_PROPERTIES( + rtabmap_viz + PROPERTIES + AUTOUIC ON + AUTOMOC ON + AUTORCC ON +) ############# diff --git a/rtabmap_viz/include/rtabmap_viz/PreferencesDialogROS.h b/rtabmap_viz/include/rtabmap_viz/PreferencesDialogROS.h index 7c2b1602..6497d9f8 100644 --- a/rtabmap_viz/include/rtabmap_viz/PreferencesDialogROS.h +++ b/rtabmap_viz/include/rtabmap_viz/PreferencesDialogROS.h @@ -35,6 +35,7 @@ using namespace rtabmap; class PreferencesDialogROS : public PreferencesDialog { + Q_OBJECT public: PreferencesDialogROS(const QString & configFile, const std::string & rtabmapNodeName); virtual ~PreferencesDialogROS(); @@ -43,7 +44,7 @@ public: virtual QString getTmpIniFilePath() const; bool hasAllParameters(); -public slots: +public Q_SLOTS: void readRtabmapNodeParameters(); protected: diff --git a/rtabmap_viz/src/PreferencesDialogROS.cpp b/rtabmap_viz/src/PreferencesDialogROS.cpp index 83a5931f..8fcfabd1 100644 --- a/rtabmap_viz/src/PreferencesDialogROS.cpp +++ b/rtabmap_viz/src/PreferencesDialogROS.cpp @@ -89,7 +89,9 @@ bool PreferencesDialogROS::hasAllParameters() rtabmap::ParametersMap parameters = rtabmap::Parameters::getDefaultParameters(); for(rtabmap::ParametersMap::const_iterator i=parameters.begin(); i!=parameters.end(); ++i) { - if(i->first.compare(rtabmap::Parameters::kRtabmapWorkingDirectory()) != 0 && !nh.hasParam(i->first)) + if(i->first.compare(rtabmap::Parameters::kRtabmapWorkingDirectory()) != 0 && + !nh.hasParam(i->first) && + i->first.find("Odom") != 0) { return false; } @@ -101,7 +103,9 @@ bool PreferencesDialogROS::hasAllParameters(const ros::NodeHandle & nh, const rt { for(rtabmap::ParametersMap::const_iterator i=parameters.begin(); i!=parameters.end(); ++i) { - if(i->first.compare(rtabmap::Parameters::kRtabmapWorkingDirectory()) != 0 && !nh.hasParam(i->first)) + if(i->first.compare(rtabmap::Parameters::kRtabmapWorkingDirectory()) != 0 && + !nh.hasParam(i->first) && + i->first.find("Odom") != 0) { return false; }