diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPose.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPose.cpp index af808d1de3634821a761e2ae4bb3183aa1e2bcfd..6ca0338ce6c4c8edae44bb3248d9d4e8b1ea6c03 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPose.cpp +++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPose.cpp @@ -7,6 +7,7 @@ #include <RobotAPI/libraries/core/Pose.h> #include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h> #include "ice_conversions.h" @@ -45,7 +46,7 @@ namespace armarx::objpose { providerName = ice.providerName; objectType = ice.objectType; - objectID = { ice.objectID.dataset, ice.objectID.className, ice.objectID.instanceName }; + armarx::fromIce(ice.objectID, objectID); objectPoseRobot = armarx::objpose::toEigen(ice.objectPoseRobot); objectPoseGlobal = armarx::objpose::toEigen(ice.objectPoseGlobal); @@ -72,7 +73,7 @@ namespace armarx::objpose { ice.providerName = providerName; ice.objectType = objectType; - ice.objectID = { objectID.dataset(), objectID.className(), objectID.instanceName() }; + armarx::toIce(ice.objectID, objectID); ice.objectPoseRobot = new Pose(objectPoseRobot); ice.objectPoseGlobal = new Pose(objectPoseGlobal); @@ -92,8 +93,7 @@ namespace armarx::objpose { providerName = provided.providerName; objectType = provided.objectType; - - objectID = { provided.objectID.dataset, provided.objectID.className, provided.objectID.instanceName }; + armarx::fromIce(provided.objectID, objectID); objectPoseOriginal = armarx::objpose::toEigen(provided.objectPose); objectPoseOriginalFrame = provided.objectPoseFrame; diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp index cfb470f8f5ccddb59e64bba6fc4627a343824aa1..892094431698411a2ad66189986a7fa0f2cbb6ef 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp +++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp @@ -32,6 +32,7 @@ #include <RobotAPI/libraries/core/Pose.h> #include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h> #include "ice_conversions.h" diff --git a/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.cpp b/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.cpp index 5d0929830a01473e7625573596bf5b779ebf4f1e..42dba6bc80bcff3e024afcbdb9156d726202c1dc 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.cpp +++ b/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.cpp @@ -3,6 +3,8 @@ #include <ArmarXCore/core/time/TimeUtil.h> #include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h> + namespace armarx::objpose { @@ -10,15 +12,9 @@ namespace armarx::objpose { } - void RequestedObjects::requestObjects(const std::vector<armarx::objpose::ObjectID>& objectIDs, long relativeTimeOutMS) + void RequestedObjects::requestObjects(const std::vector<armarx::data::ObjectID>& objectIDs, long relativeTimeOutMS) { - std::vector<armarx::ObjectID> ids; - ids.reserve(objectIDs.size()); - for (const auto& id : objectIDs) - { - ids.emplace_back(id.dataset, id.className, id.instanceName); - } - requestObjects(ids, relativeTimeOutMS); + requestObjects(fromIce(objectIDs), relativeTimeOutMS); } void RequestedObjects::requestObjects(const std::vector<armarx::ObjectID>& objectIDs, long relativeTimeOutMS) diff --git a/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.h b/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.h index 06d040c344b2034d408471a28f403a30869a8ce8..eebaf7af21e54ee9995d68940390c4cae48176f8 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.h +++ b/source/RobotAPI/components/ObjectPoseObserver/plugins/RequestedObjects.h @@ -36,7 +36,7 @@ namespace armarx::objpose RequestedObjects(); - void requestObjects(const std::vector<armarx::objpose::ObjectID>& objectIDs, long relativeTimeOutMS); + void requestObjects(const std::vector<armarx::data::ObjectID>& objectIDs, long relativeTimeOutMS); void requestObjects(const std::vector<armarx::ObjectID>& objectIDs, long relativeTimeOutMS); void requestObjects(const std::vector<armarx::ObjectID>& objectIDs, IceUtil::Time relativeTimeout); diff --git a/source/RobotAPI/components/ObjectPoseProviderExample/ObjectPoseProviderExample.cpp b/source/RobotAPI/components/ObjectPoseProviderExample/ObjectPoseProviderExample.cpp index 5ad0c747350751ed89c6f4e636822f86a9552220..95a51a1fe0c0f7c90c463364a1320ee58fa0c5dc 100644 --- a/source/RobotAPI/components/ObjectPoseProviderExample/ObjectPoseProviderExample.cpp +++ b/source/RobotAPI/components/ObjectPoseProviderExample/ObjectPoseProviderExample.cpp @@ -28,6 +28,7 @@ #include <RobotAPI/libraries/core/Pose.h> #include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/libraries/ArmarXObjects/ice_conversions.h> #include <RobotAPI/components/ObjectPoseObserver/ice_conversions.h> @@ -69,7 +70,7 @@ namespace armarx std::vector<ObjectInfo> objects = objectFinder.findAllObjectsOfDataset("KIT"); for (const auto& obj : objects) { - providerInfo.supportedObjects.push_back(objpose::ObjectID{obj.id().dataset(), obj.id().className(), obj.id().instanceName()}); + providerInfo.supportedObjects.push_back(armarx::toIce(obj.id())); } } } diff --git a/source/RobotAPI/gui-plugins/ObjectPoseGui/ObjectPoseGuiWidgetController.cpp b/source/RobotAPI/gui-plugins/ObjectPoseGui/ObjectPoseGuiWidgetController.cpp index 495ad1972e1ed17eac4fc76d2cab26c2db82ad28..828d0fb5b2d1ea32a288bbd6c2fd6ed00ba2bc47 100644 --- a/source/RobotAPI/gui-plugins/ObjectPoseGui/ObjectPoseGuiWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/ObjectPoseGui/ObjectPoseGuiWidgetController.cpp @@ -320,7 +320,7 @@ namespace armarx { std::string providerName = classItem->text(1).toStdString(); objpose::observer::RequestObjectsInput& requests = requestsPerProvider[providerName]; - objpose::ObjectID& id = requests.request.objectIDs.emplace_back(); + data::ObjectID& id = requests.request.objectIDs.emplace_back(); id.dataset = datasetItem->text(0).toStdString(); id.className = classItem->text(0).toStdString(); }