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

Handle non-existent provider segment

parent 537d155a
No related branches found
No related tags found
2 merge requests!140armem/dev -> master,!133Add Object Memory with Class and Instance Segments
......@@ -199,7 +199,12 @@ namespace armarx
}
// This stays empty on the first report.
const armem::ProviderSegment& providerSegment = data.getCoreSegment().getProviderSegment(providerName);
const armem::CoreSegment& coreSegment = data.getCoreSegment();
armem::ProviderSegment const* providerSegment = nullptr;
if (coreSegment.hasProviderSegment(providerName))
{
providerSegment = &coreSegment.getProviderSegment(providerName);
}
// Build new poses.
objpose::ObjectPoseSeq newObjectPoses;
......@@ -211,9 +216,9 @@ namespace armarx
// Check whether we have an old pose for this object.
std::optional<objpose::ObjectPose> previousPose;
const std::string entityName = fromIce(provided.objectID).str();
if (providerSegment.hasEntity(entityName))
if (providerSegment && providerSegment->hasEntity(entityName))
{
const armem::Entity& entity = providerSegment.getEntity(entityName);
const armem::Entity& entity = providerSegment->getEntity(entityName);
const objpose::arondto::ObjectPose data = objpose::observer::Data::getLatestInstanceData(entity);
previousPose = objpose::ObjectPose();
......
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