Aikido
PlannerAdapter.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_PLANNER_DART_PLANNERADAPTER_HPP_
2 #define AIKIDO_PLANNER_DART_PLANNERADAPTER_HPP_
3 
4 namespace aikido {
5 namespace planner {
6 namespace dart {
7 
13 template <
14  typename DelegatePlanner,
15  typename TargetPlanner,
16  typename DelegateIsDartPlanner = void>
17 class PlannerAdapter : public TargetPlanner
18 {
19 public:
24  explicit PlannerAdapter(
25  std::shared_ptr<DelegatePlanner> planner,
26  ::dart::dynamics::MetaSkeletonPtr metaSkeleton);
27 
29  virtual ~PlannerAdapter() = default;
30 
31 protected:
33  std::shared_ptr<DelegatePlanner> mDelegate;
34 };
35 
41 template <typename DelegatePlanner, typename TargetPlanner>
43  DelegatePlanner,
44  TargetPlanner,
45  typename std::enable_if<std::is_base_of<
46  dart::SingleProblemPlanner<
47  DelegatePlanner,
48  typename DelegatePlanner::SolvableProblem>,
49  DelegatePlanner>::value>::type>
50 {
51 public:
55  explicit PlannerAdapter(std::shared_ptr<DelegatePlanner> planner);
56 
58  virtual ~PlannerAdapter() = default;
59 
60 protected:
62  std::shared_ptr<DelegatePlanner> mDelegate;
63 };
64 
65 } // namespace dart
66 } // namespace planner
67 } // namespace aikido
68 
70 
71 #endif // AIKIDO_PLANNER_DART_PLANNERADAPTER_HPP_
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::planner::dart::PlannerAdapter::mDelegate
std::shared_ptr< DelegatePlanner > mDelegate
Internal planner to delegate planning calls.
Definition: PlannerAdapter.hpp:33
aikido::planner::dart::PlannerAdapter::~PlannerAdapter
virtual ~PlannerAdapter()=default
Default destructor.
PlannerAdapter-impl.hpp
aikido::planner::dart::PlannerAdapter::PlannerAdapter
PlannerAdapter(std::shared_ptr< DelegatePlanner > planner, ::dart::dynamics::MetaSkeletonPtr metaSkeleton)
Constructor to adapt non-DART planners.
Definition: PlannerAdapter-impl.hpp:16
aikido::planner::dart::PlannerAdapter
Adapts a DelegatePlanner to solve the single problem that TargetPlanner can solve.
Definition: PlannerAdapter.hpp:17
aikido::planner::dart::PlannerAdapter< DelegatePlanner, TargetPlanner, typename std::enable_if< std::is_base_of< dart::SingleProblemPlanner< DelegatePlanner, typename DelegatePlanner::SolvableProblem >, DelegatePlanner >::value >::type >::mDelegate
std::shared_ptr< DelegatePlanner > mDelegate
Internal planner to delegate planning calls.
Definition: PlannerAdapter.hpp:62
dart
Definition: FrameMarker.hpp:11