Parasol Planning Library (PPL)
BasicExtender.h
Go to the documentation of this file.
1 #ifndef PMPL_BASIC_EXTENDER_H_
2 #define PMPL_BASIC_EXTENDER_H_
3 
4 #include "ExtenderMethod.h"
5 
6 
16 class BasicExtender : virtual public ExtenderMethod {
17 
18  public:
19 
22 
26 
30 
31  BasicExtender();
32 
33  BasicExtender(XMLNode& _node);
34 
35  virtual ~BasicExtender() = default;
36 
40 
41  virtual void Print(std::ostream& _os) const override;
42 
46 
47  virtual bool Extend(const Cfg& _start, const Cfg& _end,
48  Cfg& _new, LPOutput& _lp) override;
49 
50  virtual bool Extend(const Cfg& _start, const Cfg& _end,
51  Cfg& _new, LPOutput& _lp, CDInfo& _cdInfo) override;
52 
53  virtual bool Extend(const GroupCfgType& _start, const GroupCfgType& _end,
54  GroupCfgType& _new, GroupLPOutput& _lp,
55  const Formation& _robotIndexes = Formation()) override;
56 
57  virtual bool Extend(const GroupCfgType& _start, const GroupCfgType& _end,
58  GroupCfgType& _new, GroupLPOutput& _lp, CDInfo& _cdInfo,
59  const Formation& _robotIndexes = Formation()) override;
60 
62 
63  protected:
64 
67 
77  bool Expand(const Cfg& _start, const Cfg& _end, Cfg& _newCfg,
78  double _delta, LPOutput& _lp, double _posRes, double _oriRes);
79  bool Expand(const Cfg& _start, const Cfg& _end, Cfg& _newCfg,
80  double _delta, LPOutput& _lp, CDInfo& _cdInfo,
81  double _posRes, double _oriRes);
82 
83 
85  bool Expand(const GroupCfgType& _start, const GroupCfgType& _end,
86  GroupCfgType& _newCfg, double _delta, GroupLPOutput& _lp,
87  double _posRes, double _oriRes,
88  const Formation& _robotIndexes = Formation());
89  bool Expand(const GroupCfgType& _start, const GroupCfgType& _end,
90  GroupCfgType& _newCfg, double _delta, GroupLPOutput& _lp,
91  CDInfo& _cdInfo, double _posRes, double _oriRes,
92  const Formation& _robotIndexes = Formation());
93 
97 
98  std::string m_dmLabel;
99  std::string m_vcLabel;
100  bool m_randomOrientation{true};
101 
103 };
104 
105 #endif
Definition: BasicExtender.h:16
MPBaseObject::GroupCfgType GroupCfgType
Definition: BasicExtender.h:23
std::string m_dmLabel
The distance metric to use.
Definition: BasicExtender.h:98
bool m_randomOrientation
Setting this to false fixes orientation.
Definition: BasicExtender.h:100
virtual bool Extend(const Cfg &_start, const Cfg &_end, Cfg &_new, LPOutput &_lp) override
Definition: BasicExtender.cpp:39
virtual void Print(std::ostream &_os) const override
Definition: BasicExtender.cpp:27
std::string m_vcLabel
The validity checker to use.
Definition: BasicExtender.h:99
BasicExtender()
Definition: BasicExtender.cpp:8
MPBaseObject::GroupWeightType GroupWeightType
Definition: BasicExtender.h:24
GroupCfgType::Formation Formation
Definition: BasicExtender.h:25
virtual ~BasicExtender()=default
bool Expand(const Cfg &_start, const Cfg &_end, Cfg &_newCfg, double _delta, LPOutput &_lp, double _posRes, double _oriRes)
Definition: BasicExtender.cpp:115
Definition: Cfg.h:38
Definition: ExtenderMethod.h:32
Definition: GroupCfg.h:39
std::vector< size_t > Formation
Definition: GroupCfg.h:58
Definition: GroupLocalPlan.h:24
Definition: XMLNode.h:27
Definition: CDInfo.h:139
Definition: GroupLPOutput.h:29
Definition: LPOutput.h:24