swath_generator_base.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_SWATH_GENERATOR_SWATH_GENERATOR_BASE_H_
9 #define FIELDS2COVER_SWATH_GENERATOR_SWATH_GENERATOR_BASE_H_
10 
11 #include <vector>
12 #include "fields2cover/types.h"
14 
15 namespace f2c::sg {
16 
18  public:
19  bool getAllowOverlap() const;
20  void setAllowOverlap(bool);
21 
23  double op_width, const F2CCell& poly);
24 
26  double op_width, const F2CCells& polys);
27 
28  virtual F2CSwaths generateSwaths(double angle,
29  double op_width, const F2CCell& poly);
30 
31  virtual F2CSwathsByCells generateSwaths(double angle,
32  double op_width, const F2CCells& polys);
33 
35  double ang, double op_width, const F2CCell& poly);
36 
38  double op_width, const F2CCell& poly) = 0;
39 
40  virtual ~SwathGeneratorBase() = default;
41 
42  protected:
43  bool allow_overlap {false};
44 };
45 
46 } // namespace f2c::sg
47 
48 
49 #endif // FIELDS2COVER_SWATH_GENERATOR_SWATH_GENERATOR_BASE_H_
f2c::sg::SwathGeneratorBase::generateBestSwaths
virtual F2CSwaths generateBestSwaths(f2c::obj::SGObjective &obj, double op_width, const F2CCell &poly)
Definition: swath_generator_base.cpp:19
types.h
f2c::obj::SGObjective
Base class for objective functions of swath generators.
Definition: sg_objective.h:21
f2c::types::Cell
Definition: Cell.h:32
7_decomposition.obj
obj
Definition: 7_decomposition.py:32
f2c::sg::SwathGeneratorBase
Definition: swath_generator_base.h:17
f2c::sg::SwathGeneratorBase::computeBestAngle
virtual double computeBestAngle(f2c::obj::SGObjective &obj, double op_width, const F2CCell &poly)=0
Definition: swath_generator_base.cpp:74
f2c::sg::SwathGeneratorBase::getAllowOverlap
bool getAllowOverlap() const
Definition: swath_generator_base.cpp:11
f2c::types::Cells
Definition: Cells.h:21
f2c::sg
Swath generator algorithms' namespace.
Definition: brute_force.h:18
f2c::sg::SwathGeneratorBase::allow_overlap
bool allow_overlap
Definition: swath_generator_base.h:43
f2c::sg::SwathGeneratorBase::setAllowOverlap
void setAllowOverlap(bool)
Definition: swath_generator_base.cpp:15
f2c::sg::SwathGeneratorBase::generateSwaths
virtual F2CSwaths generateSwaths(double angle, double op_width, const F2CCell &poly)
Definition: swath_generator_base.cpp:43
f2c::types::SwathsByCells
Definition: SwathsByCells.h:17
f2c::sg::SwathGeneratorBase::computeCostOfAngle
virtual double computeCostOfAngle(f2c::obj::SGObjective &obj, double ang, double op_width, const F2CCell &poly)
Definition: swath_generator_base.cpp:65
sg_objective.h
f2c::types::Swaths
Definition: Swaths.h:20
f2c::sg::SwathGeneratorBase::~SwathGeneratorBase
virtual ~SwathGeneratorBase()=default


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