Parasol Planning Library (PPL)
MinkowskiDistance.h
Go to the documentation of this file.
1 #ifndef PMPL_MINKOWSKI_DISTANCE_H_
2 #define PMPL_MINKOWSKI_DISTANCE_H_
3 
4 #include "DistanceMetricMethod.h"
5 
7 
8 
22 class MinkowskiDistance : virtual public DistanceMetricMethod {
23 
24  public:
25 
28 
30 
34 
35  MinkowskiDistance(double _r1 = 3, double _r2 = 3, double _r3 = 1. / 3,
36  bool _normalize = false);
37 
38  MinkowskiDistance(XMLNode& _node);
39 
40  virtual ~MinkowskiDistance() = default;
41 
45 
46  virtual void Print(std::ostream& _os) const;
47 
51 
52  virtual double Distance(const Cfg& _c1, const Cfg& _c2) override;
53 
54  virtual void ScaleCfg(double _length, Cfg& _c, const Cfg& _o)
55  override;
56 
58 
59  protected:
60 
63 
64  double PositionDistance(const Cfg& _c);
65  double OrientationDistance(const Cfg& _c);
66 
70 
71  double m_r1{3};
72  double m_r2{3};
73  double m_r3{1. / 3.};
74  bool m_normalize{false};
75 
77 };
78 
79 #endif
Definition: Cfg.h:38
Definition: DistanceMetricMethod.h:33
Definition: GroupCfg.h:39
Definition: MinkowskiDistance.h:22
virtual void Print(std::ostream &_os) const
Definition: MinkowskiDistance.cpp:29
double m_r3
For calculating root.
Definition: MinkowskiDistance.h:73
double m_r1
For position part.
Definition: MinkowskiDistance.h:71
virtual double Distance(const Cfg &_c1, const Cfg &_c2) override
Definition: MinkowskiDistance.cpp:41
MPBaseObject::GroupCfgType GroupCfgType
Definition: MinkowskiDistance.h:29
bool m_normalize
Normalize distance w.r.t. environment?
Definition: MinkowskiDistance.h:74
double m_r2
For rotation part.
Definition: MinkowskiDistance.h:72
virtual void ScaleCfg(double _length, Cfg &_c, const Cfg &_o) override
Definition: MinkowskiDistance.cpp:51
MinkowskiDistance(double _r1=3, double _r2=3, double _r3=1./3, bool _normalize=false)
Definition: MinkowskiDistance.cpp:6
double OrientationDistance(const Cfg &_c)
Definition: MinkowskiDistance.cpp:88
double PositionDistance(const Cfg &_c)
Definition: MinkowskiDistance.cpp:68
virtual ~MinkowskiDistance()=default
Definition: XMLNode.h:27