From aeb8f82ffd1c6c32c4b63f897a867efd759ceb16 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Fri, 18 Sep 2020 09:52:15 +0200 Subject: [PATCH] Still try to draw object when not found locally --- .../ObjectPoseObserver/CMakeLists.txt | 1 + .../ObjectPoseObserver/ObjectPoseObserver.cpp | 21 ++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/source/RobotAPI/components/ObjectPoseObserver/CMakeLists.txt b/source/RobotAPI/components/ObjectPoseObserver/CMakeLists.txt index 867170f06..f369dd024 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/CMakeLists.txt +++ b/source/RobotAPI/components/ObjectPoseObserver/CMakeLists.txt @@ -5,6 +5,7 @@ set(COMPONENT_LIBS ArmarXCore ArmarXCoreInterfaces ArmarXGuiComponentPlugins RobotAPIArmarXObjects RobotAPIComponentPlugins + ArViz ${PROJECT_NAME}Interfaces ) diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp index 773d52d34..76fb10b23 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp +++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp @@ -382,26 +382,23 @@ namespace armarx const armarx::ObjectID id = objectPose.objectID; std::string key = id.str(); - std::optional<ObjectInfo> objectInfo = objectFinder.findObject(id); - Eigen::Matrix4f pose = visu.inGlobalFrame ? objectPose.objectPoseGlobal : objectPose.objectPoseRobot; - - if (objectInfo) { - viz::Object object = viz::Object(key) - .file(objectInfo->package(), objectInfo->simoxXML().relativePath) - .pose(pose); + viz::Object object = viz::Object(key).pose(pose); + if (std::optional<ObjectInfo> objectInfo = objectFinder.findObject(id)) + { + object.file(objectInfo->package(), objectInfo->simoxXML().relativePath); + } + else + { + object.fileByObjectFinder(id); + } if (visu.alpha < 1) { object.overrideColor(simox::Color::white().with_alpha(visu.alpha)); } - layer.add(object); } - else - { - ARMARX_WARNING << "Cannot visualize object '" << key << "'."; - } if (visu.oobbs && objectPose.localOOBB) { -- GitLab