rp_objective.h
Go to the documentation of this file.
1 //=============================================================================
2 // Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
3 // Author: Gonzalo Mier
4 // BSD-3 License
5 //=============================================================================
6 
7 #pragma once
8 #ifndef FIELDS2COVER_OBJECTIVES_RP_OBJECTIVE_H_
9 #define FIELDS2COVER_OBJECTIVES_RP_OBJECTIVE_H_
10 
11 #include <vector>
12 #include "fields2cover/types.h"
14 
15 namespace f2c::obj {
16 
18 class RPObjective : public BaseObjective<RPObjective> {
19  public:
24  virtual double computeCost(const F2CPoint& p1, const F2CPoint& p2);
25 
31  virtual double computeCost(
32  const F2CPoint& p1, double ang1, const F2CPoint& p2);
33 
40  virtual double computeCost(
41  const F2CPoint& p1, double ang1, const F2CPoint& p2, double ang2); // = 0
42 
48  virtual double computeCost(
49  const F2CPoint& p1, const F2CPoint& p2, double ang2);
50 
55  virtual double computeCost(const F2CSwath& s, const F2CPoint& p);
56 
61  virtual double computeCost(const F2CSwath& s1, const F2CSwath& s2);
62 
68  virtual double computeCost(const F2CSwath& s, const F2CPoint& p, double ang);
69 
74  virtual double computeCost(const F2CPoint& p, const F2CSwath& s);
75 
81  virtual double computeCost(const F2CPoint& p, double ang, const F2CSwath& s);
82 
86  virtual double computeCost(const std::vector<F2CPoint>& ps);
87 
91  virtual double computeCost(const F2CMultiPoint& ps);
92 
97  virtual double computeCost(const F2CSwath& s, const F2CMultiPoint& ps);
98 
103  virtual double computeCost(const F2CSwaths& s, const F2CMultiPoint& ps);
104 
109  virtual double computeCost(const F2CMultiPoint& ps, const F2CSwath& s);
110 
115  virtual double computeCost(const F2CMultiPoint& ps, const F2CSwaths& s);
116 
120  virtual double computeCost(const F2CSwath& s);
121 
128  virtual double computeCost(const F2CSwaths& swaths);
129 
135  virtual double computeCost(const F2CRoute& r);
136 };
137 
138 
139 } // namespace f2c::obj
140 
141 #endif // FIELDS2COVER_OBJECTIVES_RP_OBJECTIVE_H_
5_route_planning.swaths
swaths
Definition: 5_route_planning.py:58
1_basic_types.p1
p1
Definition: 1_basic_types.py:11
types.h
f2c::types::Swath
Definition: Swath.h:23
f2c::obj
Objective algorithms' namespace.
Definition: base_objective.h:14
1_basic_types.p2
p2
Definition: 1_basic_types.py:15
f2c::types::MultiPoint
Definition: MultiPoint.h:18
8_complete_flow.ps
list ps
Definition: 8_complete_flow.py:43
f2c::types::Route
Definition: Route.h:23
f2c::types::Point
Definition: Point.h:21
base_objective.h
f2c::obj::RPObjective::computeCost
virtual double computeCost(const F2CPoint &p1, const F2CPoint &p2)
Definition: rp_objective.cpp:11
f2c::obj::BaseObjective
Definition: base_objective.h:17
f2c::types::Swaths
Definition: Swaths.h:20
f2c::obj::RPObjective
Base class for objective functions of route planners.
Definition: rp_objective.h:18


fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31