34 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
35 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
40 using namespace ScanLocationGroup;
43 CheckLocalizationResult::SubClassRegistry
53 memoryx::ObjectMemoryObserverInterfacePrx objectMemoryObserver = getObjectMemoryObserver();
55 if (in.getObjects().empty())
61 bool all_found =
true;
62 for (std::string& objectName : in.getObjects())
65 if (objectName.find(
"/") != std::string::npos)
74 for (
const auto& p : objectPoses)
88 <<
"' looks like an armarx::ObjectID, "
89 <<
"but no such object was found in ObjectPoseStorage (offering "
90 << objectPoses.size() <<
" objects)."
91 <<
"Trying to interpret it as memory instance ID.";
96 std::vector<ChannelRefBasePtr> objectInstanceList =
97 objectMemoryObserver->getObjectInstancesByClass(objectName);
99 for (ChannelRefBasePtr objectInstanceChannel : objectInstanceList)
102 ChannelRefPtr channelRef = ChannelRefPtr::dynamicCast(objectInstanceChannel);
103 if (!channelRef || !channelRef->hasDatafield(
"pose"))
111 if (localizationTimestamp->toTime() > startTime->toTime())