single_cell_swaths_order_base.cpp
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 #include <algorithm>
9 
10 namespace f2c::rp {
11 
13  const F2CSwaths& swaths, uint32_t variant) const {
14  // Always sort swaths to work with them in the same direction.
15  F2CSwaths new_swaths = swaths.clone();
16  if (new_swaths.size() > 0) {
17  new_swaths.sort();
18  this->changeStartPoint(new_swaths, variant);
19  this->sortSwaths(new_swaths);
20  new_swaths.reverseDirOddSwaths();
21  }
22  return new_swaths;
23 }
24 
26  F2CSwaths& swaths, uint32_t variant) const {
27  if (variant & 1) {
28  swaths.reverse();
29  }
30  if (variant & 2) {
31  swaths[0].reverse();
32  }
33 }
34 
35 
36 
37 } // namespace f2c::rp
38 
f2c::types::Swaths::size
size_t size() const
Definition: Swaths.cpp:78
5_route_planning.swaths
swaths
Definition: 5_route_planning.py:58
f2c::rp::SingleCellSwathsOrderBase::changeStartPoint
virtual void changeStartPoint(F2CSwaths &swaths, uint32_t variant) const
Definition: single_cell_swaths_order_base.cpp:25
f2c::types::Swaths::reverseDirOddSwaths
void reverseDirOddSwaths()
Definition: Swaths.cpp:136
f2c::rp::SingleCellSwathsOrderBase::genSortedSwaths
virtual F2CSwaths genSortedSwaths(const F2CSwaths &swaths, uint32_t variant=0) const
Definition: single_cell_swaths_order_base.cpp:12
f2c::rp
Route planning algorithms' namespace.
Definition: boustrophedon_order.h:14
f2c::types::Swaths::sort
void sort()
Definition: Swaths.cpp:127
single_cell_swaths_order_base.h
f2c::rp::SingleCellSwathsOrderBase::sortSwaths
virtual void sortSwaths(F2CSwaths &swaths) const =0
f2c::types::Swaths
Definition: Swaths.h:20


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