31 using namespace MemoryXUtility;
34 DetachObjectInMemory::SubClassRegistry
41 memoryx::ObjectInstanceMemorySegmentBasePrx instanceMemory =
42 getWorkingMemory()->getObjectInstancesSegment();
43 std::string attachedObjectId;
45 if (in.isAttachedObjectChannelSet() and in.getAttachedObjectChannel())
50 ChannelRefPtr::dynamicCast(in.getAttachedObjectChannel())->getDataField(
"id");
51 attachedObjectId = idField->getString();
53 catch (std::exception
const& ex)
55 ARMARX_WARNING <<
"Could not get ID of attached object from channel. Reason:\n"
60 else if (in.isAttachedObjectIDSet())
62 attachedObjectId = in.getAttachedObjectID();
66 ARMARX_INFO <<
"Attached object is not defined. Either set ID or channel!";
73 getWorkingMemory()->getObjectInstancesSegment()->setNewMotionModel(attachedObjectId,