Class DirectDistPathObj

Inheritance Relationships

Base Type

Class Documentation

class DirectDistPathObj : public f2c::obj::RPObjective

Path cost function as the straight distance between points in a route.

Public Functions

virtual double computeCost(const F2CPoint &p1, const F2CPoint &p2) override

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • p2 – End point

Returns:

Cost value

double computeCost(const F2CPoint &p1, const F2CPoint &p2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • p2 – End point

Returns:

Cost value

double computeCost(const F2CPoint &p1, double ang1, const F2CPoint &p2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • ang1 – Angle of the robot in p1

  • p2 – End point

Returns:

Cost value

double computeCost(const F2CPoint &p1, double ang1, const F2CPoint &p2, double ang2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • ang1 – Angle of the robot in p1

  • p2 – End point

  • ang2 – Angle of the robot in p2

Returns:

Cost value

double computeCost(const F2CPoint &p1, const F2CPoint &p2, double ang2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • p2 – End point

  • ang2 – Angle of the robot in p2

Returns:

Cost value

double computeCost(const F2CSwath &s, const F2CPoint &p)

Return the cost of going from swath s to point p.

Parameters:
  • s – Start point (end of the swath)

  • p – End point

Returns:

Cost value

double computeCost(const F2CSwath &s1, const F2CSwath &s2)

Return the cost of going from swath s to point p.

Parameters:
  • s1 – Start point (end of the swath)

  • s2 – End point (start of the swath)

Returns:

Cost value

double computeCost(const F2CSwath &s, const F2CPoint &p, double ang)

Return the cost of going from swath s to point p.

Parameters:
  • s – Start point (end of the swath)

  • p – End point

  • ang – Angle of the robot in p

Returns:

Cost value

double computeCost(const F2CPoint &p, const F2CSwath &s)

Return the cost of going from point p to swath s.

Parameters:
  • p – Start point

  • s – End point (start of the swath)

Returns:

Cost value

double computeCost(const F2CPoint &p, double ang, const F2CSwath &s)

Return the cost of going from point p to swath s.

Parameters:
  • p – Start point

  • ang – Angle of the robot in p

  • s – End point (start of the swath)

Returns:

Cost value

double computeCost(const std::vector<F2CPoint> &ps)

Return the cost of covering all the points of ps.

Parameters:

ps – vector of points

Returns:

Cost value

double computeCost(const F2CMultiPoint &ps)

Return the cost of covering all the points of ps.

Parameters:

ps – vector of points

Returns:

Cost value

double computeCost(const F2CSwath &s, const F2CMultiPoint &ps)

Return the cost of going from swath s to the first point of ps.

Parameters:
  • s – Start point (end of the swath)

  • ps – vector of points

Returns:

Cost value

double computeCost(const F2CSwaths &s, const F2CMultiPoint &ps)

Return the cost of going from the last swath of s to the first point of ps.

Parameters:
  • s – Start point (end of the last swath)

  • ps – vector of points (first point)

Returns:

Cost value

double computeCost(const F2CMultiPoint &ps, const F2CSwath &s)

Return the cost of going from the last point of ps to the swath s.

Parameters:
  • ps – vector of points (end point)

  • s – Start point (start of the swath)

Returns:

Cost value

double computeCost(const F2CMultiPoint &ps, const F2CSwaths &s)

Return the cost of going from the last point of ps to the first swath of s.

Parameters:
  • ps – vector of points (end point)

  • s – Start point (start of the first swath)

Returns:

Cost value

double computeCost(const F2CSwath &s)

Return the cost of covering a swath.

Parameters:

s – Swath

Returns:

Cost value

double computeCost(const F2CSwaths &swaths)

Return the cost of covering a vector of swaths.

Costs of each swath + Cost of going from one to another. The order may affect the cost.

Parameters:

s – Swaths

Returns:

Cost value

double computeCost(const F2CRoute &r)

Return the cost of covering a Route.

Costs of each swath + Cost of going from one to another.

Parameters:

r – Route

Returns:

Cost value

virtual double computeCost(const F2CPoint &p1, double ang1, const F2CPoint &p2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • ang1 – Angle of the robot in p1

  • p2 – End point

Returns:

Cost value

virtual double computeCost(const F2CPoint &p1, double ang1, const F2CPoint &p2, double ang2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • ang1 – Angle of the robot in p1

  • p2 – End point

  • ang2 – Angle of the robot in p2

Returns:

Cost value

virtual double computeCost(const F2CPoint &p1, const F2CPoint &p2, double ang2)

Return the cost of going from point p1 to point p2.

Parameters:
  • p1 – Start point

  • p2 – End point

  • ang2 – Angle of the robot in p2

Returns:

Cost value

virtual double computeCost(const F2CSwath &s, const F2CPoint &p)

Return the cost of going from swath s to point p.

Parameters:
  • s – Start point (end of the swath)

  • p – End point

Returns:

Cost value

virtual double computeCost(const F2CSwath &s1, const F2CSwath &s2)

Return the cost of going from swath s to point p.

Parameters:
  • s1 – Start point (end of the swath)

  • s2 – End point (start of the swath)

Returns:

Cost value

virtual double computeCost(const F2CSwath &s, const F2CPoint &p, double ang)

Return the cost of going from swath s to point p.

Parameters:
  • s – Start point (end of the swath)

  • p – End point

  • ang – Angle of the robot in p

Returns:

Cost value

virtual double computeCost(const F2CPoint &p, const F2CSwath &s)

Return the cost of going from point p to swath s.

Parameters:
  • p – Start point

  • s – End point (start of the swath)

Returns:

Cost value

virtual double computeCost(const F2CPoint &p, double ang, const F2CSwath &s)

Return the cost of going from point p to swath s.

Parameters:
  • p – Start point

  • ang – Angle of the robot in p

  • s – End point (start of the swath)

Returns:

Cost value

virtual double computeCost(const std::vector<F2CPoint> &ps)

Return the cost of covering all the points of ps.

Parameters:

ps – vector of points

Returns:

Cost value

virtual double computeCost(const F2CMultiPoint &ps)

Return the cost of covering all the points of ps.

Parameters:

ps – vector of points

Returns:

Cost value

virtual double computeCost(const F2CSwath &s, const F2CMultiPoint &ps)

Return the cost of going from swath s to the first point of ps.

Parameters:
  • s – Start point (end of the swath)

  • ps – vector of points

Returns:

Cost value

virtual double computeCost(const F2CSwaths &s, const F2CMultiPoint &ps)

Return the cost of going from the last swath of s to the first point of ps.

Parameters:
  • s – Start point (end of the last swath)

  • ps – vector of points (first point)

Returns:

Cost value

virtual double computeCost(const F2CMultiPoint &ps, const F2CSwath &s)

Return the cost of going from the last point of ps to the swath s.

Parameters:
  • ps – vector of points (end point)

  • s – Start point (start of the swath)

Returns:

Cost value

virtual double computeCost(const F2CMultiPoint &ps, const F2CSwaths &s)

Return the cost of going from the last point of ps to the first swath of s.

Parameters:
  • ps – vector of points (end point)

  • s – Start point (start of the first swath)

Returns:

Cost value

virtual double computeCost(const F2CSwath &s)

Return the cost of covering a swath.

Parameters:

s – Swath

Returns:

Cost value

virtual double computeCost(const F2CSwaths &swaths)

Return the cost of covering a vector of swaths.

Costs of each swath + Cost of going from one to another. The order may affect the cost.

Parameters:

s – Swaths

Returns:

Cost value

virtual double computeCost(const F2CRoute &r)

Return the cost of covering a Route.

Costs of each swath + Cost of going from one to another.

Parameters:

r – Route

Returns:

Cost value

inline double computeCostWithMinimizingSign(const T1 &t1)

Compute the cost function with minimizing sign.

If the objective is to maximize the cost function, the cost is multiplied by -1.

inline double computeCostWithMinimizingSign(const T1 &t1, const T2 &t2)
inline double computeCostWithMinimizingSign(const T1 &t1, const T2 &t2, const T3 &t3)
inline double computeCostWithMinimizingSign(const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4)
inline virtual bool isMinimizing() const

Return true if the objective is to minimize the cost function.

inline virtual bool isMaximizing() const

Return true if the objective is to maximize the cost function.