diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp index de740d244c3e671016956df0b526065b21d3638c..8710af33c07522713bd833e53c7f1e982754e3ec 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp @@ -54,6 +54,17 @@ namespace armarx::objpose } return map; } + + ObjectPoseSeq ObjectPoseClient::fetchObjectPosesFromProvider(const std::string& providerName) + { + if (!objectPoseStorage) + { + ARMARX_WARNING << "No object pose observer."; + return {}; + } + return fromIce(objectPoseStorage->getObjectPosesByProvider(providerName)); + } + const ObjectPoseStorageInterfacePrx& @@ -70,4 +81,3 @@ namespace armarx::objpose } } - diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h index 2e262cc155944c4d9d3cebd6ca57d2b8130da595..33f9a6dd7b40fd933a451d50d093afc937a08635 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h +++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h @@ -27,9 +27,13 @@ namespace armarx::objpose ObjectPoseSeq fetchObjectPoses(); + ObjectPoseMap fetchObjectPosesAsMap(); + ObjectPoseSeq + fetchObjectPosesFromProvider(const std::string& providerName); + const ObjectPoseStorageInterfacePrx& getObjectPoseStorage() const; diff --git a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp index 3408ac53aa801ff8d60448b2227dcfbac98a9147..62161ff5cafce827a99191e97ce7bfa6bb2abee4 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/plugins/ObjectPoseClientPlugin.cpp @@ -74,12 +74,7 @@ namespace armarx objpose::ObjectPoseSeq ObjectPoseClientPluginUser::getObjectPosesByProvider(const std::string& providerName) { - if (!objectPoseStorage) - { - ARMARX_WARNING << "No object pose observer."; - return {}; - } - return objpose::fromIce(objectPoseStorage->getObjectPosesByProvider(providerName)); + return objpose::ObjectPoseClient(objectPoseStorage, getObjectFinder()).fetchObjectPosesFromProvider(providerName); }