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

articulated object class segment: provider id: dataset/name

parent 51964784
No related branches found
No related tags found
2 merge requests!157armem/dev => master,!148ArMem: articulated object localizer related stuff
......@@ -65,13 +65,13 @@ namespace armarx::armem::server::obj::articulated_object_class
{
ObjectFinder finder(package);
const auto knownArticulatedObjectDescriptions = finder.findAllArticulatedObjects(true);
const auto knownArticulatedObjectDescriptions = finder.findAllArticulatedObjectsByDataset(true);
ARMARX_INFO << "Found " << knownArticulatedObjectDescriptions.size() << " articulated objects";
loadObjectsIntoMemory(knownArticulatedObjectDescriptions, package);
}
void Segment::loadObjectsIntoMemory(const std::vector<armem::articulated_object::ArticulatedObjectDescription>& descriptions, const std::string& package)
void Segment::loadObjectsIntoMemory(const std::unordered_map<std::string, std::vector<armem::articulated_object::ArticulatedObjectDescription>>& datasets, const std::string& package)
{
const Time now = TimeUtil::GetTime();
......@@ -81,19 +81,26 @@ namespace armarx::armem::server::obj::articulated_object_class
// ARMARX_INFO << "Loading up to " << infos.size() << " object classes from '"
// << objectFinder.getPackageName() << "' ...";
Commit commit;
for (const armem::articulated_object::ArticulatedObjectDescription& desc : descriptions)
for (const auto& [datasetName, descriptions] : datasets)
{
EntityUpdate& update = commit.updates.emplace_back();
update.entityID = providerID.withEntityName(desc.name);
update.timeArrived = update.timeCreated = update.timeSent = now;
arondto::RobotDescription aronRobotDescription;
toAron(aronRobotDescription, desc);
for (const armem::articulated_object::ArticulatedObjectDescription& desc : descriptions)
{
EntityUpdate& update = commit.updates.emplace_back();
update.entityID = providerID.withEntityName(datasetName + "/" + desc.name);
update.timeArrived = update.timeCreated = update.timeSent = now;
arondto::RobotDescription aronRobotDescription;
toAron(aronRobotDescription, desc);
aronRobotDescription.timestamp = now;
update.instancesData = { aronRobotDescription.toAron()};
}
update.instancesData = { aronRobotDescription.toAron()};
ARMARX_INFO << "Loaded " << commit.updates.size() << " articulated object classes from '"
<< package << "' in dataset '" << datasetName << "'.";
}
ARMARX_INFO << "Loaded " << commit.updates.size() << " articulated object classes from '"
<< package << "'.";
iceMemory.commit(commit);
}
......
......@@ -75,7 +75,7 @@ namespace armarx::armem::server::obj::articulated_object_class
private:
void loadByObjectFinder(const std::string& package);
void loadObjectsIntoMemory(const std::vector<armem::articulated_object::ArticulatedObjectDescription>& descriptions, const std::string& package);
void loadObjectsIntoMemory(const std::unordered_map<std::string, std::vector<armem::articulated_object::ArticulatedObjectDescription>>& datasets, const std::string& package);
server::MemoryToIceAdapter& iceMemory;
wm::CoreSegment* coreSegment = nullptr;
......
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