Parasol Planning Library (PPL)
MPStrategyMethod.h
Go to the documentation of this file.
1 #ifndef PMPL_MP_STRATEGY_METHOD_H_
2 #define PMPL_MP_STRATEGY_METHOD_H_
3 
7 #include "Utilities/XMLNode.h"
8 
9 // #include <cstddef>
10 // #include <iostream>
11 // #include <string>
12 // #include <vector>
13 
14 
34 
35  public:
36 
39 
40  typedef size_t VID;
41 
45 
46  MPStrategyMethod() = default;
47 
48  MPStrategyMethod(XMLNode& _node);
49 
50  virtual ~MPStrategyMethod();
51 
55 
56  virtual void Print(std::ostream& _os) const override;
57 
61 
63 
65  void operator()();
68 
72  void EnableOutputFiles(const bool _enable = true);
73 
75 
76  protected:
77 
80 
81  virtual void Run();
82  virtual bool EvaluateMap();
83  virtual void Iterate() {}
84  virtual void Finalize();
85 
86  virtual void ClearRoadmap();
87 
91 
99  virtual size_t GenerateStart(const std::string& _samplerLabel = "");
100 
108  virtual std::vector<size_t> GenerateGoals(
109  const std::string& _samplerLabel = "");
110 
114 
115  std::string m_querySampler;
116  std::vector<std::string> m_meLabels;
117  size_t m_iterations{0};
118  bool m_writeOutput{true};
119  bool m_clearMap{false};
120 
122 
124  template <typename> friend class AOAnalyzer;
125 
126 };
127 
128 #endif
Definition: MPBaseObject.h:46
virtual void Initialize()
Definition: MPBaseObject.h:98
Definition: MPStrategyMethod.h:33
virtual void Print(std::ostream &_os) const override
Definition: MPStrategyMethod.cpp:41
virtual bool EvaluateMap()
Check if we satisfied all map evaluators.
Definition: MPStrategyMethod.cpp:127
void operator()()
Execute the strategy by calling Initialize, Run, and Finalize.
Definition: MPStrategyMethod.cpp:56
MPStrategyMethod()=default
virtual void Run()
Call Iterate until EvaluateMap is true.
Definition: MPStrategyMethod.cpp:99
bool m_writeOutput
Write output at the end?
Definition: MPStrategyMethod.h:118
virtual void Iterate()
Execute one iteration of the strategy.
Definition: MPStrategyMethod.h:83
virtual void ClearRoadmap()
Pre-clear the roadmap(s) if requested.
Definition: MPStrategyMethod.cpp:200
bool m_clearMap
Clear the roadmap(s) before run?
Definition: MPStrategyMethod.h:119
friend class AOAnalyzer
Needs access to Iterate for other methods.
Definition: MPStrategyMethod.h:124
virtual ~MPStrategyMethod()
Definition: MPStrategyMethod.cpp:35
size_t VID
Definition: MPStrategyMethod.h:40
size_t m_iterations
The number of executed iterations.
Definition: MPStrategyMethod.h:117
void EnableOutputFiles(const bool _enable=true)
Definition: MPStrategyMethod.cpp:91
std::string m_querySampler
Sampler for generating start/goal.
Definition: MPStrategyMethod.h:115
virtual void Finalize()
Clean-up and output results.
Definition: MPStrategyMethod.cpp:169
virtual size_t GenerateStart(const std::string &_samplerLabel="")
Definition: MPStrategyMethod.cpp:216
virtual std::vector< size_t > GenerateGoals(const std::string &_samplerLabel="")
Definition: MPStrategyMethod.cpp:280
std::vector< std::string > m_meLabels
The list of map evaluators to use.
Definition: MPStrategyMethod.h:116
Definition: XMLNode.h:27