Parasol Planning Library (PPL)
GroupPRM.h
Go to the documentation of this file.
1 #ifndef PMPL_GROUP_PRM_H_
2 #define PMPL_GROUP_PRM_H_
3 
4 #include "GroupStrategyMethod.h"
5 
7 #include "Utilities/XMLNode.h"
8 
9 
17 class GroupPRM : public GroupStrategyMethod {
18 
19  public:
20 
23 
26  typedef typename GroupRoadmapType::VID VID;
27 
31 
33  struct SamplerSetting {
34  std::string label;
35  size_t count;
36  size_t attempts;
37  };
38 
42 
43  GroupPRM();
44 
45  GroupPRM(XMLNode& _node);
46 
47  virtual ~GroupPRM() = default;
48 
52 
53  virtual void Print(std::ostream& _os) const override;
54 
55  virtual void Initialize() override;
56 
58 
59  protected:
60 
63 
64  virtual void Iterate() override;
65 
69 
72  std::vector<VID> Sample();
73 
76  void Connect(const std::vector<VID>& _vids);
77 
81 
83  std::vector<SamplerSetting> m_samplers;
85  std::vector<std::string> m_connectorLabels;
86 
88 
89 };
90 
91 #endif
STAPLGraph::vertex_descriptor VID
Definition: GenericStateGraph.h:83
Definition: GroupCfg.h:39
Definition: GroupPRM.h:17
GroupRoadmapType::VID VID
Definition: GroupPRM.h:26
virtual void Iterate() override
Execute one iteration of the strategy.
Definition: GroupPRM.cpp:75
MPBaseObject::GroupRoadmapType GroupRoadmapType
Definition: GroupPRM.h:25
std::vector< std::string > m_connectorLabels
Connector labels for node-to-node.
Definition: GroupPRM.h:85
virtual void Print(std::ostream &_os) const override
Definition: GroupPRM.cpp:42
std::vector< VID > Sample()
Definition: GroupPRM.cpp:88
virtual void Initialize() override
Definition: GroupPRM.cpp:60
MPBaseObject::GroupCfgType GroupCfgType
Definition: GroupPRM.h:24
virtual ~GroupPRM()=default
GroupPRM()
Definition: GroupPRM.cpp:13
std::vector< SamplerSetting > m_samplers
Sampler labels with number and attempts of sampler.
Definition: GroupPRM.h:83
void Connect(const std::vector< VID > &_vids)
Definition: GroupPRM.cpp:124
Definition: GroupRoadmap.h:25
Definition: GroupStrategyMethod.h:19
Definition: XMLNode.h:27
Settings for a specific sampler.
Definition: GroupPRM.h:33
std::string label
The sampler label.
Definition: GroupPRM.h:34
size_t attempts
The number of attempts per sample.
Definition: GroupPRM.h:36
size_t count
The number of samples per call.
Definition: GroupPRM.h:35