diff --git a/include/hpp/manipulation/graph/helper.hh b/include/hpp/manipulation/graph/helper.hh index 6ad3c141daf7e804c71e1dec49f4b902e2e5394b..fef32a1067eba98860aea92e61b477a02886652a 100644 --- a/include/hpp/manipulation/graph/helper.hh +++ b/include/hpp/manipulation/graph/helper.hh @@ -98,6 +98,18 @@ namespace hpp { WithPrePlace = 1 << 4 }; + struct Rule { + std::string gripper_; + std::string handle_; + bool link_; + Rule() : gripper_(""), handle_(""), link_(false) {} + Rule(std::string gripper, std::string handle, bool link) { + gripper_ = gripper; + handle_ = handle; + link_ = link; + } + }; + /// Create edges according to the case. /// gCase is a logical OR combination of GraspingCase and PlacementCase /// @@ -191,6 +203,7 @@ namespace hpp { const StringList_t& griNames, const std::list <ObjectDef_t>& objs, const StringList_t& envNames, + const std::vector<Rule>& rules, const value_type& prePlaceWidth = 0.05); /// \} } // namespace helper diff --git a/src/graph/helper.cc b/src/graph/helper.cc index eb8a2ee49946b72fdecfaf91aed564f418eea6df..b705dd5cb1a26e090b649a299b7a2125e06aea51 100644 --- a/src/graph/helper.cc +++ b/src/graph/helper.cc @@ -878,6 +878,7 @@ namespace hpp { const StringList_t& griNames, const std::list <ObjectDef_t>& objs, const StringList_t& envNames, + const std::vector <Rule>& rules, const value_type& prePlaceWidth) { const Device& robot = *(ps->robot ());