Parasol Planning Library (PPL)
IntermediatesEdgeValidityChecker.h
Go to the documentation of this file.
1 #ifndef INTERMEDIATE_EDGE_VALIDITY_CHECKER_H_
2 #define INTERMEDIATE_EDGE_VALIDITY_CHECKER_H_
3 
5 
15 
16  public:
17 
19  typedef typename RoadmapType::VID VID;
20  typedef typename RoadmapType::EID EID;
21  typedef typename RoadmapType::adj_edge_iterator EI;
22 
25 
26  void Initialize() override;
27 
28 
36  bool ValidateEdge(VID _u, VID _v, std::vector<size_t>& _collisions) override;
37  bool ValidateEdge(Cfg& _c1, Cfg& _c2, std::vector<size_t>& _collisions) override;
38 
44  double EdgeWeightedClearance(VID _u, VID _v);
45  double EdgeWeightedClearance(Cfg& _c1, Cfg& _c2);
46 
47 
48  private:
49 
52 
53 
63  double HandleIntermediates(std::vector<Cfg>& _intermediates, std::vector<size_t>& _collisions, bool _reportClearance = false);
64 
69  double intermediateClearance(std::vector<Cfg>& _intermediates);
70 
74 
76 
77  string m_lpLabel;
78 
79  string m_vcLabel;
81  bool m_overrideLp{false};
83 };
84 
85 #endif
Definition: Cfg.h:38
Definition: EdgeValidityCheckerMethod.h:14
RoadmapType::VID VID
Definition: EdgeValidityCheckerMethod.h:22
Definition: GenericStateGraph.h:67
STAPLGraph::vertex_descriptor VID
Definition: GenericStateGraph.h:83
STAPLGraph::edge_descriptor EID
Definition: GenericStateGraph.h:84
Validates an edge by calling a local planner and collision checking all intermediates created by that...
Definition: IntermediatesEdgeValidityChecker.h:14
RoadmapType::EID EID
Definition: IntermediatesEdgeValidityChecker.h:20
RoadmapType::VID VID
Definition: IntermediatesEdgeValidityChecker.h:19
double EdgeWeightedClearance(VID _u, VID _v)
Definition: IntermediatesEdgeValidityChecker.cpp:80
void Initialize() override
Definition: IntermediatesEdgeValidityChecker.cpp:29
MPBaseObject::RoadmapType RoadmapType
Definition: IntermediatesEdgeValidityChecker.h:18
RoadmapType::adj_edge_iterator EI
Definition: IntermediatesEdgeValidityChecker.h:21
bool ValidateEdge(VID _u, VID _v, std::vector< size_t > &_collisions) override
Definition: IntermediatesEdgeValidityChecker.cpp:36
IntermediatesEdgeValidityChecker()
Definition: IntermediatesEdgeValidityChecker.cpp:7
Definition: XMLNode.h:27