include
fields2cover
decomposition
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
"
12
#include "
fields2cover/objectives/decomp_obj/decomp_objective.h
"
13
14
namespace
f2c::decomp
{
15
21
class
DecompositionBase
{
22
public
:
28
virtual
F2CCells
decompose
(
const
F2CCells
&
cells
,
29
const
obj::DecompObjective
&
obj
=
obj::DecompObjective
());
30
31
public
:
35
virtual
F2CCells
split
(
const
F2CCells
&
cells
,
36
const
obj::DecompObjective
&
obj
);
37
42
virtual
F2CMultiLineString
genSplitLines
(
const
F2CCells
&
cells
,
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