28 #include <MemoryX/interface/memorytypes/MemorySegments.h>
29 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
44 defineOptionalProperty<std::string>(
"DebugDrawerTopicName",
"DebugDrawerUpdates",
"Where to draw the provided bounding boxes (if empty -> don't draw)");
46 defineOptionalProperty<std::string>(
"BoundingBoxesR",
"2960.0 9885.0 1000.0 1970.0 990.0 500.0;4490.0 7100.0 1000.0 1000.0 1180.0 500.0;4465.0 10255.0 1750 490.0 500.0 2000;2680 6051 1100 800 800 500",
"Format: 'xCenter yCenter zCenter xSize ySize zSize' for one 6-tuple, separate multiple tuples with ';'");
47 defineOptionalProperty<std::string>(
"BoundingBoxesL",
"3350.0 9960.0 1000.0 1820.0 840.0 500.0;4490.0 7100.0 1000.0 1000.0 1180.0 500.0;4465.0 10255.0 1750 490.0 500.0 2000;2680 6051 1100 800 800 500",
"Format: 'xCenter yCenter zCenter xSize ySize zSize' for one 6-tuple, separate multiple tuples with ';'");
71 PredicateInfoList
getPredicateInfos(
const Ice::Current& = Ice::emptyCurrent)
override;
72 PredicateInstanceList
calcPredicates(
const Ice::Current& = Ice::emptyCurrent)
override;
75 struct GraspabilityDescriptor
77 std::string className;
78 bool hasGraspableSuperclass;
83 std::vector<Box> stringToBoxes(
const std::string& boxesString);
84 void addPredicateIfInside(PredicateInstanceList& result,
const std::string& predicateName,
const ObjectInstancePtr& obj,
const std::vector<Box>& boxes);
85 std::string debugDrawerTopicName;
86 std::vector<Box> boxesL;
87 std::vector<Box> boxesR;
88 WorkingMemoryInterfacePrx wm;
89 WorkingMemoryEntitySegmentBasePrx objectInstances;
90 PriorKnowledgeInterfacePrx prior;
91 PersistentObjectClassSegmentBasePrx objectClasses;
93 armarx::DrawColor leftColor;
94 armarx::DrawColor rightColor;
95 PredicateInfo leftGraspable;
96 PredicateInfo rightGraspable;
99 std::vector<GraspabilityDescriptor> graspabilityDescriptors;