Skip to content
Snippets Groups Projects
Commit 082e9efd authored by Fabian Reister's avatar Fabian Reister
Browse files

articulated object reader/writer: using instance name to store and retrieve articulated object

parent 1a3c44d0
Loading
...@@ -135,11 +135,11 @@ namespace armarx::armem::articulated_object ...@@ -135,11 +135,11 @@ namespace armarx::armem::articulated_object
void Reader::synchronize(ArticulatedObject& obj, const armem::Time& timestamp) void Reader::synchronize(ArticulatedObject& obj, const armem::Time& timestamp)
{ {
auto state = queryState(obj.description, timestamp); auto state = queryState(obj.instance, timestamp);
if (not state) /* c++20 [[unlikely]] */ if (not state) /* c++20 [[unlikely]] */
{ {
ARMARX_WARNING << "Could not synchronize object " << obj.description.name; ARMARX_WARNING << "Could not synchronize object " << obj.instance;
return; return;
} }
......
...@@ -104,6 +104,8 @@ namespace armarx::armem::articulated_object ...@@ -104,6 +104,8 @@ namespace armarx::armem::articulated_object
std::optional<armem::MemoryID> Writer::storeOrGetClass(const ArticulatedObject& obj) std::optional<armem::MemoryID> Writer::storeOrGetClass(const ArticulatedObject& obj)
{ {
ARMARX_TRACE;
const auto objectId = knownObjects.find(obj.description.name); const auto objectId = knownObjects.find(obj.description.name);
// check if exists // check if exists
...@@ -187,7 +189,10 @@ namespace armarx::armem::articulated_object ...@@ -187,7 +189,10 @@ namespace armarx::armem::articulated_object
const auto& timestamp = obj.timestamp; const auto& timestamp = obj.timestamp;
ARMARX_DEBUG << "Storing articulated object instance '" << obj.description.name << "' (provider '" << properties.providerName << "')"; ARMARX_CHECK(not obj.instance.empty()) << "An object instance name must be provided!";
const std::string entityName = obj.description.name + "/" + obj.instance;
ARMARX_DEBUG << "Storing articulated object instance '" << entityName << "' (provider '" << properties.providerName << "')";
const auto providerId = armem::MemoryID() const auto providerId = armem::MemoryID()
.withMemoryName(properties.memoryName) .withMemoryName(properties.memoryName)
...@@ -195,7 +200,7 @@ namespace armarx::armem::articulated_object ...@@ -195,7 +200,7 @@ namespace armarx::armem::articulated_object
.withProviderSegmentName(properties.providerName); .withProviderSegmentName(properties.providerName);
armem::EntityUpdate update; armem::EntityUpdate update;
update.entityID = providerId.withEntityName(obj.description.name); update.entityID = providerId.withEntityName(entityName);
// .withTimestamp(timestamp); // You only need to specify the entity ID, not the snapshot ID // .withTimestamp(timestamp); // You only need to specify the entity ID, not the snapshot ID
// arondto::Robot aronArticulatedObject; // arondto::Robot aronArticulatedObject;
......
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