29 #ifndef HPP_MANIPULATION_MANIPULATION_PLANNER_HH
30 #define HPP_MANIPULATION_MANIPULATION_PLANNER_HH
32 #include <hpp/core/path-planner.hh>
33 #include <hpp/statistics/success-bin.hh>
42 namespace manipulation {
47 :
public hpp::core::PathPlanner {
60 virtual void oneStep();
69 core::PathPtr_t& validPath);
87 void init(
const ManipulationPlannerWkPtr_t& weak);
92 std::size_t tryConnectToRoadmap(
const core::Nodes_t nodes);
95 std::size_t tryConnectNewNodes(
const core::Nodes_t nodes);
104 ManipulationPlannerWkPtr_t weakPtr_;
108 typedef ::hpp::statistics::SuccessStatistics SuccessStatistics;
109 typedef ::hpp::statistics::SuccessBin SuccessBin;
110 typedef ::hpp::statistics::SuccessBin::Reason Reason;
112 std::vector<size_type> indexPerEdgeStatistics_;
113 std::vector<SuccessStatistics> perEdgeStatistics_;
117 PATH_PROJECTION_SHORTER = 0,
118 PATH_VALIDATION_SHORTER = 1,
119 REACHED_DESTINATION_NODE = 2,
123 PATH_VALIDATION_ZERO = 6,
124 PATH_PROJECTION_ZERO = 7
126 static const std::vector<Reason> reasons_;
136 #endif // HPP_MANIPULATION_MANIPULATION_PLANNER_HH