From ff5b84a751a0d2ee64d3521d5f62f317bb2d73b8 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Fri, 23 Apr 2021 17:47:50 +0200 Subject: [PATCH] Tweak MemoryViewer --- .../libraries/armem_gui/MemoryViewer.cpp | 10 ++++++-- .../armem_gui/instance/sanitize_typename.cpp | 25 +++++++++++++++++++ .../libraries/armem_gui/memory/TreeWidget.cpp | 13 +++------- .../armem_objects/server/class/Segment.cpp | 12 +++------ 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp index 78097af1a..51137a0db 100644 --- a/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp +++ b/source/RobotAPI/libraries/armem_gui/MemoryViewer.cpp @@ -257,7 +257,7 @@ namespace armarx::armem::gui void MemoryViewer::loadSettings(QSettings* settings) { - mnsName = settings->value(QString::fromStdString(CONFIG_KEY_MEMORY), "ArMemMemoryNameSystem").toString().toStdString(); + mnsName = settings->value(QString::fromStdString(CONFIG_KEY_MEMORY), "MemoryNameSystem").toString().toStdString(); debugObserverName = settings->value(QString::fromStdString(CONFIG_KEY_DEBUG_OBSERVER), "DebugObserver").toString().toStdString(); } void MemoryViewer::saveSettings(QSettings* settings) @@ -268,12 +268,18 @@ namespace armarx::armem::gui void MemoryViewer::writeConfigDialog(SimpleConfigDialog* dialog) { - dialog->addProxyFinder<armarx::armem::mns::MemoryNameSystemInterfacePrx>({CONFIG_KEY_MEMORY, "ArMemMemoryNameSystem", "*"}); + dialog->addProxyFinder<armarx::armem::mns::MemoryNameSystemInterfacePrx>({CONFIG_KEY_MEMORY, "MemoryNameSystem", "*"}); dialog->addProxyFinder<armarx::DebugObserverInterfacePrx>({CONFIG_KEY_DEBUG_OBSERVER, "Debug Observer", "DebugObserver"}); } void MemoryViewer::readConfigDialog(SimpleConfigDialog* dialog) { mnsName = dialog->getProxyName(CONFIG_KEY_MEMORY); + ARMARX_IMPORTANT << VAROUT(mnsName); + if (mnsName.empty()) + { + mnsName = "MemoryNameSystem"; + } + ARMARX_IMPORTANT << VAROUT(mnsName); debugObserverName = dialog->getProxyName(CONFIG_KEY_DEBUG_OBSERVER); } diff --git a/source/RobotAPI/libraries/armem_gui/instance/sanitize_typename.cpp b/source/RobotAPI/libraries/armem_gui/instance/sanitize_typename.cpp index ac5494864..9db048145 100644 --- a/source/RobotAPI/libraries/armem_gui/instance/sanitize_typename.cpp +++ b/source/RobotAPI/libraries/armem_gui/instance/sanitize_typename.cpp @@ -1,10 +1,21 @@ #include "sanitize_typename.h" +#include <sstream> + #include <SimoxUtility/algorithm/string.h> +#include <RobotAPI/libraries/armem/aron/MemoryID.aron.generated.h> + + +static const std::string MemoryIDTypeName = armarx::armem::arondto::MemoryID::toInitialAronType()->getName(); std::string armarx::armem::gui::instance::sanitizeTypeName(const std::string& typeName) { + if (typeName == MemoryIDTypeName) + { + return "MemoryID"; + } + namespace s = simox::alg; std::string n = typeName; n = s::replace_all(n, "Aron", ""); @@ -16,6 +27,20 @@ std::string armarx::armem::gui::instance::sanitizeTypeName(const std::string& ty std::string end = ">"; n = n.substr(begin.size(), n.size() - begin.size() - end.size()); } + + if (true) + { + const std::string del = "::"; + size_t find = n.rfind(del); + if (find != n.npos) + { + find += del.size(); // include del + std::stringstream ss; + ss << n.substr(find) << " (" << n.substr(0, find - del.size()) << ")"; + n = ss.str(); + } + } + return n; } diff --git a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp index e622a3a44..44133ed4d 100644 --- a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp +++ b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp @@ -1,5 +1,7 @@ #include "TreeWidget.h" +#include <RobotAPI/libraries/armem_gui/instance/sanitize_typename.h> + #include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> #include <ArmarXCore/core/exceptions/local/ExpressionException.h> @@ -292,16 +294,7 @@ namespace armarx::armem::gui::memory if (container.aronType()) { typeName = container.aronType()->getName(); - - std::string del = "::"; - size_t find = typeName.rfind(del); - if (find != typeName.npos) - { - find += del.size(); // include del - std::stringstream ss; - ss << typeName.substr(find) << " (" << typeName.substr(0, find) << ")"; - typeName = ss.str(); - } + typeName = instance::sanitizeTypeName(typeName); } else { diff --git a/source/RobotAPI/libraries/armem_objects/server/class/Segment.cpp b/source/RobotAPI/libraries/armem_objects/server/class/Segment.cpp index f4fa5e8d1..e4d46ae5e 100644 --- a/source/RobotAPI/libraries/armem_objects/server/class/Segment.cpp +++ b/source/RobotAPI/libraries/armem_objects/server/class/Segment.cpp @@ -122,14 +122,10 @@ namespace armarx::armem::server::obj::clazz toAron(data.meshWrlPath, info.file(".wrl")); } - if (auto aabb = info.loadAABB()) - { - toAron(data.aabb, aabb.value()); - } - if (auto oobb = info.loadOOBB()) - { - toAron(data.oobb, oobb.value()); - } + auto aabb = info.loadAABB(); + toAron(data.aabb, aabb ? aabb.value() : simox::AxisAlignedBoundingBox()); + auto oobb = info.loadOOBB(); + toAron(data.oobb, oobb ? oobb.value() : simox::OrientedBoxf()); if (auto recogNames = info.loadRecognizedNames()) { -- GitLab