32 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
33 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
41 using namespace ScanLocationGroup;
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)
73 for (
const auto& p : objectPoses)
86 ARMARX_WARNING <<
"Object instance ID '" << objectName <<
"' looks like an armarx::ObjectID, "
87 <<
"but no such object was found in ObjectPoseStorage (offering " << objectPoses.size() <<
" objects)."
88 <<
"Trying to interpret it as memory instance ID.";
93 std::vector<ChannelRefBasePtr> objectInstanceList = objectMemoryObserver->getObjectInstancesByClass(objectName);
95 for (ChannelRefBasePtr objectInstanceChannel : objectInstanceList)
98 ChannelRefPtr channelRef = ChannelRefPtr::dynamicCast(objectInstanceChannel);
99 if (!channelRef || !channelRef->hasDatafield(
"pose"))
106 if (localizationTimestamp->toTime() > startTime->toTime())