29 #ifndef HPP_MANIPULATION_GRAPH_HELPER_HH 30 #define HPP_MANIPULATION_GRAPH_HELPER_HH 41 namespace manipulation {
52 nc.reserve(a.size() + b.size());
53 std::copy(a.begin(), a.end(), nc.begin());
54 std::copy(b.begin(), b.end(), nc.begin());
72 std::copy(lj.begin(), lj.end(), both.
lj.end());
73 std::copy(other.
lj.begin(), other.
lj.end(), both.
lj.end());
81 bool foliated()
const {
return !lj_fol.empty() || !nc_fol.empty(); }
82 bool empty()
const {
return lj.empty() && nc.empty(); }
100 Rule() : grippers_(), handles_(), link_(false) {}
112 const std::string& forwName,
const std::string& backName,
117 const bool levelSetPlace,
141 const ImplicitPtr_t preplacement,
142 const ImplicitPtr_t placementComplement,
150 const ImplicitPtr_t preplacement,
155 typedef std::tuple<ImplicitPtr_t, ImplicitPtr_t, LockedJoints_t>
165 typedef std::tuple<PlacementConstraint_t, Handles_t, std::size_t>
Object_t;
176 const Rules_t& rules =
Rules_t());
184 const std::string& graphName,
186 const std::list<ObjectDef_t>& objs,
195 #endif // HPP_MANIPULATION_GRAPH_HELPER_HH
NumericalConstraints_t nc_path
Definition: helper.hh:62
std::vector< std::string > handles_
Definition: helper.hh:98
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:57
std::tuple< PlacementConstraint_t, Handles_t, std::size_t > Object_t
Definition: helper.hh:165
std::string name
Definition: helper.hh:179
void strictPlacementManifold(const ImplicitPtr_t placement, const ImplicitPtr_t preplacement, const ImplicitPtr_t placementComplement, FoliatedManifold &place, FoliatedManifold &preplace)
void graspManifold(const GripperPtr_t &gripper, const HandlePtr_t &handle, FoliatedManifold &grasp, FoliatedManifold &pregrasp)
EdgePtr_t createLoopEdge(const std::string &loopName, const StatePtr_t &state, const size_type &w, const bool levelSet, const FoliatedManifold &submanifoldDef=FoliatedManifold())
LockedJoints_t lj
Definition: helper.hh:61
std::vector< HandlePtr_t > Handles_t
Definition: helper.hh:157
std::tuple< ImplicitPtr_t, ImplicitPtr_t, LockedJoints_t > PlacementConstraint_t
Definition: helper.hh:156
core::value_type value_type
Definition: fwd.hh:90
NumericalConstraints_t merge_nc(const NumericalConstraints_t &a, const NumericalConstraints_t &b)
Definition: helper.hh:49
shared_ptr< LevelSetEdge > LevelSetEdgePtr_t
Definition: fwd.hh:51
bool empty() const
Definition: helper.hh:82
std::vector< GripperPtr_t > Grippers_t
Definition: helper.hh:158
std::vector< Object_t > Objects_t
Definition: helper.hh:166
bool foliated() const
Definition: helper.hh:81
void specifyFoliation(LevelSetEdgePtr_t lse) const
std::vector< Rule > Rules_t
Definition: helper.hh:103
shared_ptr< Handle > HandlePtr_t
Definition: fwd.hh:59
LockedJoints_t lj_fol
Definition: helper.hh:65
void addToEdge(EdgePtr_t comp) const
hpp::core::LockedJoints_t LockedJoints_t
Definition: fwd.hh:65
PlacementCase
Definition: helper.hh:90
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:116
Rule()
Definition: helper.hh:100
hpp::core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:64
StringList_t shapes
Definition: helper.hh:180
GraspingCase
Definition: helper.hh:85
std::list< std::string > StringList_t
Definition: fwd.hh:143
NumericalConstraints_t nc
Definition: helper.hh:60
core::size_type size_type
Definition: fwd.hh:91
shared_ptr< Graph > GraphPtr_t
Definition: fwd.hh:47
void graphBuilder(const ProblemSolverPtr_t &ps, const Objects_t &objects, const Grippers_t &grippers, GraphPtr_t graph, const Rules_t &rules=Rules_t())
shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:49
FoliatedManifold merge(const FoliatedManifold &other)
Definition: helper.hh:67
void relaxedPlacementManifold(const ImplicitPtr_t placement, const ImplicitPtr_t preplacement, const LockedJoints_t objectLocks, FoliatedManifold &place, FoliatedManifold &preplace)
shared_ptr< State > StatePtr_t
Definition: fwd.hh:48
Edges_t createEdges(const std::string &forwName, const std::string &backName, const StatePtr_t &from, const StatePtr_t &to, const size_type &wForw, const size_type &wBack, const FoliatedManifold &grasp, const FoliatedManifold &pregrasp, const FoliatedManifold &place, const FoliatedManifold &preplace, const bool levelSetGrasp, const bool levelSetPlace, const FoliatedManifold &submanifoldDef=FoliatedManifold())
std::vector< std::string > grippers_
Definition: helper.hh:97
Definition: helper.hh:178
void addToState(StatePtr_t comp) const
NumericalConstraints_t nc_fol
Definition: helper.hh:64
Definition: problem-solver.hh:45
pinocchio::GripperPtr_t GripperPtr_t
Definition: fwd.hh:52
bool link_
Definition: helper.hh:99