Go to the documentation of this file. 1 #ifndef AIKIDO_PLANNER_DETAIL_SINGLEPROBLEMPLANNER_IMPL_HPP_
2 #define AIKIDO_PLANNER_DETAIL_SINGLEPROBLEMPLANNER_IMPL_HPP_
12 template <
typename Derived,
typename ProblemT>
15 :
Planner(std::move(stateSpace), std::move(rng))
21 template <
typename Derived,
typename ProblemT>
25 return problem.
getType() == SolvableProblem::getStaticType();
29 template <
typename Derived,
typename ProblemT>
33 if (!canSolve(problem))
37 #ifndef NDEBUG // Debug mode
40 assert(result &&
dynamic_cast<typename Derived::Result*
>(result));
44 return static_cast<Derived*
>(
this)->plan(
45 static_cast<const typename Derived::SolvableProblem&
>(problem),
46 static_cast<typename Derived::Result*
>(result));
52 #endif // AIKIDO_PLANNER_DETAIL_SINGLEPROBLEMPLANNER_IMPL_HPP_
virtual const std::string & getType() const =0
Returns type of this planning problem.
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
SingleProblemPlanner(statespace::ConstStateSpacePtr stateSpace, common::RNG *rng=nullptr)
Constructs from a state space.
Definition: SingleProblemPlanner-impl.hpp:13
std::shared_ptr< Trajectory > TrajectoryPtr
Definition: Trajectory.hpp:13
ConfigurationToEndEffectorOffset SolvableProblem
Definition: SingleProblemPlanner.hpp:25
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the typ...
Definition: RNG.hpp:24
Base class for a meta-planner.
Definition: Planner.hpp:17
Base class for various planning problems.
Definition: Problem.hpp:13
Base planner class for all DART single problem planners.
Definition: SingleProblemPlanner.hpp:14
Base class for planning result of various planning problems.
Definition: Planner.hpp:58