Skip to content
Snippets Groups Projects
Commit 1932cb19 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Try to resolve object IDs without dataset

parent 41adf520
Branches armem/use-prior-knowledge-data
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@
#include <SimoxUtility/json.h>
#include <RobotAPI/libraries/ArmarXObjects/ObjectID.h>
#include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
// #include <RobotAPI/libraries/armem/core/json_conversions.h>
......@@ -15,6 +16,20 @@ namespace armarx::armem::obj
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 @@
namespace armarx
{
class ObjectID;
class ObjectFinder;
}
namespace armarx::armem::obj
{
......@@ -44,6 +45,7 @@ namespace armarx::armem::obj
Eigen::Quaternionf orientation = Eigen::Quaternionf::Identity();
ObjectID getClassID() const;
ObjectID getClassID(ObjectFinder& finder) const;
};
std::vector<Object> objects;
};
......
......@@ -842,7 +842,7 @@ namespace armarx::armem::server::obj::instance
for (const auto& object : scene.objects)
{
const ObjectID classID = object.getClassID();
const ObjectID classID = object.getClassID(objectFinder);
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