17 #ifndef HPP_MANIPULATION_GRAPH_HELPER_HH 18 # define HPP_MANIPULATION_GRAPH_HELPER_HH 23 # include <boost/tuple/tuple.hpp> 25 # include "hpp/manipulation/config.hh" 30 namespace manipulation {
45 ret.
pdof.reserve (pdof.size() + other.
pdof.size());
84 return !lj_fol.empty () || !nc_fol.
nc.empty ();
87 return lj.empty () && nc.
nc.empty ();
106 Rule() : grippers_(), handles_(), link_(false) {}
116 template <
int gCase >
118 const std::string& forwName,
const std::string& backName,
123 const bool levelSetGrasp,
const bool levelSetPlace,
128 const std::string& loopName,
154 const ImplicitPtr_t placement,
155 const ImplicitPtr_t preplacement,
156 const ImplicitPtr_t placementComplement,
163 const ImplicitPtr_t placement,
164 const ImplicitPtr_t preplacement,
179 typedef boost::tuple <PlacementConstraint_t, Handles_t, std::size_t>
Object_t;
190 const Objects_t& objects,
191 const Grippers_t& grippers,
193 const Rules_t& rules = Rules_t ());
202 const std::string& graphName,
204 const std::list <ObjectDef_t>& objs,
206 const Rules_t& rules,
214 #endif // HPP_MANIPULATION_GRAPH_HELPER_HH
void specifyFoliation(LevelSetEdgePtr_t lse) const
std::vector< std::string > handles_
Definition: helper.hh:104
boost::shared_ptr< GraphComponent > GraphComponentPtr_t
Definition: fwd.hh:43
void addToComp(GraphComponentPtr_t comp) const
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:46
NumericalConstraintsAndPassiveDofs merge(const NumericalConstraintsAndPassiveDofs &other)
Definition: helper.hh:42
std::string name
Definition: helper.hh:196
void strictPlacementManifold(const ImplicitPtr_t placement, const ImplicitPtr_t preplacement, const ImplicitPtr_t placementComplement, FoliatedManifold &place, FoliatedManifold &preplace)
boost::tuple< PlacementConstraint_t, Handles_t, std::size_t > Object_t
Definition: helper.hh:179
void graspManifold(const GripperPtr_t &gripper, const HandlePtr_t &handle, FoliatedManifold &grasp, FoliatedManifold &pregrasp)
boost::shared_ptr< LevelSetEdge > LevelSetEdgePtr_t
Definition: fwd.hh:39
NumericalConstraints_t nc
Definition: helper.hh:39
Definition: helper.hh:102
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:63
NumericalConstraintsAndPassiveDofs nc_path
Definition: helper.hh:64
boost::tuple< ImplicitPtr_t, ImplicitPtr_t, LockedJoints_t > PlacementConstraint_t
Definition: helper.hh:171
std::vector< HandlePtr_t > Handles_t
Definition: helper.hh:172
boost::shared_ptr< State > StatePtr_t
Definition: fwd.hh:36
core::value_type value_type
Definition: fwd.hh:79
bool empty() const
Definition: helper.hh:86
std::vector< GripperPtr_t > Grippers_t
Definition: helper.hh:173
std::vector< Object_t > Objects_t
Definition: helper.hh:180
bool foliated() const
Definition: helper.hh:83
std::vector< Rule > Rules_t
Definition: helper.hh:109
LockedJoints_t lj_fol
Definition: helper.hh:67
hpp::core::LockedJoints_t LockedJoints_t
Definition: fwd.hh:54
PlacementCase
Definition: helper.hh:96
IntervalsContainer_t pdof
Definition: helper.hh:40
boost::shared_ptr< Handle > HandlePtr_t
Definition: fwd.hh:48
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:105
Rule()
Definition: helper.hh:106
hpp::core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:53
StringList_t shapes
Definition: helper.hh:197
GraspingCase
Definition: helper.hh:91
NumericalConstraintsAndPassiveDofs nc_fol
Definition: helper.hh:66
boost::shared_ptr< Edge > EdgePtr_t
Definition: fwd.hh:37
std::list< std::string > StringList_t
Definition: fwd.hh:132
core::size_type size_type
Definition: fwd.hh:80
void graphBuilder(const ProblemSolverPtr_t &ps, const Objects_t &objects, const Grippers_t &grippers, GraphPtr_t graph, const Rules_t &rules=Rules_t())
boost::shared_ptr< Graph > GraphPtr_t
Definition: fwd.hh:35
FoliatedManifold merge(const FoliatedManifold &other)
Definition: helper.hh:69
std::vector< segments_t > IntervalsContainer_t
Definition: fwd.hh:52
void relaxedPlacementManifold(const ImplicitPtr_t placement, const ImplicitPtr_t preplacement, const LockedJoints_t objectLocks, FoliatedManifold &place, FoliatedManifold &preplace)
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())
boost::shared_ptr< Implicit > ImplicitPtr_t
std::vector< std::string > grippers_
Definition: helper.hh:103
Definition: helper.hh:195
virtual SteeringMethodPtr_t copy() const
Definition: problem-solver.hh:33
pinocchio::GripperPtr_t GripperPtr_t
Definition: fwd.hh:41
bool link_
Definition: helper.hh:105
NumericalConstraintsAndPassiveDofs nc
Definition: helper.hh:62