Parasol Planning Library (PPL)
BridgeTestSampler.h
Go to the documentation of this file.
1 #ifndef PPL_BRIDGE_TEST_SAMPLER_H_
2 #define PPL_BRIDGE_TEST_SAMPLER_H_
3 
4 #include "SamplerMethod.h"
5 
13 class BridgeTestSampler : virtual public SamplerMethod {
14 
15  public:
16 
19 
21  typedef std::map<Robot*, const Boundary*> BoundaryMap;
22 
26 
27  BridgeTestSampler(string _vcLabel = "", string _dmLabel = "",
28  double _d = 0.5, bool _useBoundary = false);
29 
30  BridgeTestSampler(XMLNode& _node);
31 
32  virtual ~BridgeTestSampler() = default;
33 
37 
38  virtual void Print(ostream& _os) const override;
39 
43 
44  void ParseXML(XMLNode& _node);
45 
49 
50  virtual bool Sampler(GroupCfgType& _cfg, const Boundary* const _boundary,
51  vector<GroupCfgType>& _valid, vector<GroupCfgType>& _invalid);
52 
53  virtual bool Sampler(Cfg& _cfg, const Boundary* const _boundary,
54  vector<Cfg>& _valid, vector<Cfg>& _invalid);
55 
56  virtual bool Sampler(GroupCfgType& _cfg, const BoundaryMap& _boundaryMap,
57  std::vector<GroupCfgType>& _valid, std::vector<GroupCfgType>& _invalid);
58 
60 
61  protected:
62 
65 
66  double m_d;
68  std::string m_vcLabel, m_dmLabel;
69 
73 
76  bool GroupInBounds(GroupCfgType& _gcfg, const BoundaryMap& _boundaryMap);
77 
79 };
80 
81 #endif
Definition: Boundary.h:30
This sampler validity checks the input sample and accepts it iff it passes the bridge test - i....
Definition: BridgeTestSampler.h:13
virtual void Print(ostream &_os) const override
Definition: BridgeTestSampler.cpp:36
double m_d
Gaussian d-value obtained from distribution.
Definition: BridgeTestSampler.h:66
bool GroupInBounds(GroupCfgType &_gcfg, const BoundaryMap &_boundaryMap)
Definition: BridgeTestSampler.cpp:352
MPBaseObject::GroupCfgType GroupCfgType
Definition: BridgeTestSampler.h:20
BridgeTestSampler(string _vcLabel="", string _dmLabel="", double _d=0.5, bool _useBoundary=false)
Definition: BridgeTestSampler.cpp:8
std::string m_dmLabel
The distance metric to use.
Definition: BridgeTestSampler.h:68
virtual ~BridgeTestSampler()=default
std::string m_vcLabel
Definition: BridgeTestSampler.h:68
void ParseXML(XMLNode &_node)
Definition: BridgeTestSampler.cpp:24
virtual bool Sampler(GroupCfgType &_cfg, const Boundary *const _boundary, vector< GroupCfgType > &_valid, vector< GroupCfgType > &_invalid)
Definition: BridgeTestSampler.cpp:143
bool m_useBoundary
use Bbox as obstacle?
Definition: BridgeTestSampler.h:67
std::map< Robot *, const Boundary * > BoundaryMap
Definition: BridgeTestSampler.h:21
Definition: Cfg.h:38
Definition: GroupCfg.h:39
Definition: SamplerMethod.h:70
Definition: XMLNode.h:27