src
fields2cover
decomposition
trapezoidal_decomp.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 "
fields2cover/decomposition/trapezoidal_decomp.h
"
8
9
namespace
f2c::decomp
{
10
11
void
TrapezoidalDecomp::setSplitAngle
(
double
ang) {
12
this->
split_angle
= ang;
13
}
14
15
double
TrapezoidalDecomp::getSplitAngle
()
const
{
16
return
this->
split_angle
;
17
}
18
19
F2CMultiLineString
TrapezoidalDecomp::genSplitLines
(
20
const
F2CCells
&
cells
,
const
obj::DecompObjective
&
obj
) {
21
F2CMultiLineString
lines
;
22
for
(
auto
&&
cell
:
cells
) {
23
for
(
auto
&&
ring
:
cell
) {
24
for
(
auto
&& p :
ring
) {
25
lines
.addGeometry(
cells
.createLineUntilBorder(
26
p,
split_angle
));
27
lines
.addGeometry(
cells
.createLineUntilBorder(
28
p,
split_angle
+ M_PI));
29
}
30
}
31
}
32
return
lines
;
33
}
34
35
}
// namespace f2c::decomp
36
1_basic_types.cells
cells
Definition:
1_basic_types.py:93
f2c::decomp::TrapezoidalDecomp::getSplitAngle
double getSplitAngle() const
Get split angle used to decompose the field.
Definition:
trapezoidal_decomp.cpp:15
trapezoidal_decomp.h
1_basic_types.cell
cell
Definition:
1_basic_types.py:88
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
1_basic_types.ring
ring
Definition:
1_basic_types.py:68
f2c::obj::DecompObjective
Base class for objective functions of cell decomposition.
Definition:
decomp_objective.h:18
f2c::decomp::TrapezoidalDecomp::setSplitAngle
void setSplitAngle(double ang)
Set split angle used to decompose the field.
Definition:
trapezoidal_decomp.cpp:11
f2c::types::Cells
Definition:
Cells.h:21
f2c::decomp::TrapezoidalDecomp::genSplitLines
F2CMultiLineString genSplitLines(const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective()) override
Definition:
trapezoidal_decomp.cpp:19
f2c::decomp::TrapezoidalDecomp::split_angle
double split_angle
Definition:
trapezoidal_decomp.h:35
1_basic_types.lines
lines
Definition:
1_basic_types.py:73
fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31