17 #ifndef HPP_MANIPULATION_GRAPH_EDGE_HH
18 # define HPP_MANIPULATION_GRAPH_EDGE_HH
20 #include <hpp/core/constraint-set.hh>
21 #include <hpp/core/steering-method.hh>
22 #include <hpp/core/relative-motion.hh>
23 #include <hpp/core/path.hh>
30 namespace manipulation {
70 (
const std::string& name,
71 const GraphWkPtr_t& graph,
72 const StateWkPtr_t& from,
73 const StateWkPtr_t& to);
84 virtual bool applyConstraints (core::NodePtr_t nStart,
109 virtual bool generateTargetConfig(core::NodePtr_t nStart,
137 return state_.lock();
148 return steeringMethod_;
154 return pathValidation_;
163 void relativeMotion(
const RelativeMotion::matrix_type & m);
179 return securityMargins_;
184 virtual bool direction (
const core::PathPtr_t& path)
const;
188 virtual bool intersectionConstraint (
const EdgePtr_t& other,
202 void setShort (
bool isShort) {
215 void init (
const EdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
const StateWkPtr_t& from,
216 const StateWkPtr_t& to);
219 Edge (
const std::string& name);
230 virtual
void initialize ();
233 virtual std::ostream& print (std::ostream& os) const;
246 StateWkPtr_t from_, to_;
306 (
const std::string& name,
307 const GraphWkPtr_t& graph,
const StateWkPtr_t& from,
308 const StateWkPtr_t& to);
340 const EdgePtr_t& waypoint (
const std::size_t index)
const;
346 void nbWaypoints (
const size_type number);
350 return edges_.size () - 1;
360 lastSucceeded_ (false)
364 void init (
const WaypointEdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
const StateWkPtr_t& from,
365 const StateWkPtr_t& to);
368 virtual void initialize ();
370 virtual std::ostream& print (std::ostream& os)
const;
377 mutable bool lastSucceeded_;
379 WaypointEdgeWkPtr_t wkPtr_;
461 (
const std::string& name,
462 const GraphWkPtr_t& graph,
const StateWkPtr_t& from,
463 const StateWkPtr_t& to);
474 virtual bool applyConstraints (core::NodePtr_t nStart,
499 virtual bool generateTargetConfig(core::NodePtr_t nStart,
533 void buildHistogram ();
577 void init (
const LevelSetEdgeWkPtr_t& weak,
const GraphWkPtr_t& graph,
const StateWkPtr_t& from,
578 const StateWkPtr_t& to);
583 virtual std::ostream& print (std::ostream& os)
const;
588 virtual void initialize ();
602 LevelSetEdgeWkPtr_t wkPtr_;
610 #endif // HPP_MANIPULATION_GRAPH_EDGE_HH