decomposition_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_DECOMPOSITION_DECOMPOSITION_BASE_H_
9 #define FIELDS2COVER_DECOMPOSITION_DECOMPOSITION_BASE_H_
10 
11 #include "fields2cover/types.h"
13 
14 namespace f2c::decomp {
15 
22  public:
28  virtual F2CCells decompose(const F2CCells& cells,
30 
31  public:
35  virtual F2CCells split(const F2CCells& cells,
36  const obj::DecompObjective& obj);
37 
43  const obj::DecompObjective& obj) = 0;
44 
48  virtual F2CCells merge(const F2CCells& cells,
49  const obj::DecompObjective& obj);
50 
51  virtual ~DecompositionBase() = default;
52 };
53 
54 } // namespace f2c::decomp
55 
56 
57 #endif // FIELDS2COVER_DECOMPOSITION_DECOMPOSITION_BASE_H_
f2c::decomp::DecompositionBase
Base class for algorithms that decompose non-convex cells into multiple simpler cells.
Definition: decomposition_base.h:21
f2c::decomp::DecompositionBase::decompose
virtual F2CCells decompose(const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective())
Decompose F2CCells into simpler F2CCells.
Definition: decomposition_base.cpp:12
1_basic_types.cells
cells
Definition: 1_basic_types.py:93
types.h
f2c::decomp::DecompositionBase::genSplitLines
virtual F2CMultiLineString genSplitLines(const F2CCells &cells, const obj::DecompObjective &obj)=0
f2c::decomp::DecompositionBase::merge
virtual F2CCells merge(const F2CCells &cells, const obj::DecompObjective &obj)
Definition: decomposition_base.cpp:22
f2c::decomp
Decomposition algorithms' namespace.
Definition: boustrophedon_decomp.h:14
f2c::types::MultiLineString
Definition: MultiLineString.h:18
7_decomposition.obj
obj
Definition: 7_decomposition.py:32
f2c::obj::DecompObjective
Base class for objective functions of cell decomposition.
Definition: decomp_objective.h:18
f2c::decomp::DecompositionBase::split
virtual F2CCells split(const F2CCells &cells, const obj::DecompObjective &obj)
Definition: decomposition_base.cpp:17
f2c::decomp::DecompositionBase::~DecompositionBase
virtual ~DecompositionBase()=default
f2c::types::Cells
Definition: Cells.h:21
decomp_objective.h


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