Parasol Planning Library (PPL)
LPSweptDistance.h
Go to the documentation of this file.
1 #ifndef PMPL_LP_SWEPT_DISTANCE_H_
2 #define PMPL_LP_SWEPT_DISTANCE_H_
3 
4 #include "DistanceMetricMethod.h"
5 
6 
15 class LPSweptDistance : virtual public DistanceMetricMethod {
16 
17  public:
18 
21 
23 
27 
28  LPSweptDistance(string _lpLabel="sl", double _positionRes = 0.1,
29  double _orientationRes = 0.1, bool _bbox = false);
30  LPSweptDistance(XMLNode& _node);
31  virtual ~LPSweptDistance() = default;
32 
36 
37  virtual void Print(std::ostream& _os) const override;
38 
42 
43  virtual double Distance(const Cfg& _c1, const Cfg& _c2) override;
44 
46 
47  protected:
48 
51 
52  double SweptDistance(const std::vector<GMSPolyhedron>& _poly1,
53  const std::vector<GMSPolyhedron>& _poly2);
54 
58 
59  string m_lpLabel;
60  double m_positionRes;
62  bool m_useBBox;
63 
65 };
66 
67 #endif
Definition: Cfg.h:38
Definition: DistanceMetricMethod.h:33
Definition: GroupCfg.h:39
Definition: LPSweptDistance.h:15
virtual ~LPSweptDistance()=default
MPBaseObject::GroupCfgType GroupCfgType
Definition: LPSweptDistance.h:22
virtual double Distance(const Cfg &_c1, const Cfg &_c2) override
Definition: LPSweptDistance.cpp:50
double m_positionRes
For position resolution.
Definition: LPSweptDistance.h:60
double SweptDistance(const std::vector< GMSPolyhedron > &_poly1, const std::vector< GMSPolyhedron > &_poly2)
Definition: LPSweptDistance.cpp:117
virtual void Print(std::ostream &_os) const override
Definition: LPSweptDistance.cpp:39
double m_orientationRes
For orientation resolution.
Definition: LPSweptDistance.h:61
bool m_useBBox
for whether to use bounding box
Definition: LPSweptDistance.h:62
LPSweptDistance(string _lpLabel="sl", double _positionRes=0.1, double _orientationRes=0.1, bool _bbox=false)
Definition: LPSweptDistance.cpp:14
string m_lpLabel
For Local Planner type.
Definition: LPSweptDistance.h:59
Definition: XMLNode.h:27