Skip to content
Snippets Groups Projects
Commit dc425aa2 authored by Rainer Kartmann's avatar Rainer Kartmann Committed by armar-user
Browse files

Try to resolve object IDs without dataset

parent bbbf3875
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <SimoxUtility/json.h> #include <SimoxUtility/json.h>
#include <RobotAPI/libraries/ArmarXObjects/ObjectID.h> #include <RobotAPI/libraries/ArmarXObjects/ObjectID.h>
#include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
// #include <RobotAPI/libraries/armem/core/json_conversions.h> // #include <RobotAPI/libraries/armem/core/json_conversions.h>
...@@ -15,6 +16,20 @@ namespace armarx::armem::obj ...@@ -15,6 +16,20 @@ namespace armarx::armem::obj
return ObjectID(className); return ObjectID(className);
} }
ObjectID SceneSnapshot::Object::getClassID(ObjectFinder& finder) const
{
ObjectID id = getClassID();
if (id.dataset().empty())
{
if (std::optional<ObjectInfo> info = finder.findObject(id.className()))
{
return info->id();
}
}
return id;
}
} }
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
namespace armarx namespace armarx
{ {
class ObjectID; class ObjectID;
class ObjectFinder;
} }
namespace armarx::armem::obj namespace armarx::armem::obj
{ {
...@@ -44,6 +45,7 @@ namespace armarx::armem::obj ...@@ -44,6 +45,7 @@ namespace armarx::armem::obj
Eigen::Quaternionf orientation = Eigen::Quaternionf::Identity(); Eigen::Quaternionf orientation = Eigen::Quaternionf::Identity();
ObjectID getClassID() const; ObjectID getClassID() const;
ObjectID getClassID(ObjectFinder& finder) const;
}; };
std::vector<Object> objects; std::vector<Object> objects;
}; };
......
...@@ -843,7 +843,7 @@ namespace armarx::armem::server::obj::instance ...@@ -843,7 +843,7 @@ namespace armarx::armem::server::obj::instance
for (const auto& object : scene.objects) for (const auto& object : scene.objects)
{ {
const ObjectID classID = object.getClassID(); const ObjectID classID = object.getClassID(objectFinder);
objpose::ObjectPose& pose = objectPoses.emplace_back(); objpose::ObjectPose& pose = objectPoses.emplace_back();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment