Public Member Functions | List of all members
f2c::decomp::DecompositionBase Class Referenceabstract

Base class for algorithms that decompose non-convex cells into multiple simpler cells. More...

#include <decomposition_base.h>

Inheritance diagram for f2c::decomp::DecompositionBase:
Inheritance graph
[legend]

Public Member Functions

virtual F2CCells decompose (const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective())
 Decompose F2CCells into simpler F2CCells. More...
 
virtual F2CMultiLineString genSplitLines (const F2CCells &cells, const obj::DecompObjective &obj)=0
 
virtual F2CCells merge (const F2CCells &cells, const obj::DecompObjective &obj)
 
virtual F2CCells split (const F2CCells &cells, const obj::DecompObjective &obj)
 
virtual ~DecompositionBase ()=default
 

Detailed Description

Base class for algorithms that decompose non-convex cells into multiple simpler cells.

The class has one main method (f2c::decomp::decompose) that split complex-shape cells into simpler cells.

Definition at line 21 of file decomposition_base.h.

Constructor & Destructor Documentation

◆ ~DecompositionBase()

virtual f2c::decomp::DecompositionBase::~DecompositionBase ( )
virtualdefault

Member Function Documentation

◆ decompose()

F2CCells f2c::decomp::DecompositionBase::decompose ( const F2CCells cells,
const obj::DecompObjective obj = obj::DecompObjective() 
)
virtual

Decompose F2CCells into simpler F2CCells.

This method decompose every Cell in cells into simpler cells.

Parameters
cellsComplex-shape cells
Returns
Same space as cells recoded into simpler cells

Definition at line 12 of file decomposition_base.cpp.

◆ genSplitLines()

virtual F2CMultiLineString f2c::decomp::DecompositionBase::genSplitLines ( const F2CCells cells,
const obj::DecompObjective obj 
)
pure virtual

Generate the lines used by f2c::decomp::split to split the cells into simpler cells

Parameters
cellsComplex-shape cells
Returns
Lines that split the complex-shape cells into simpler cells

Implemented in f2c::decomp::TrapezoidalDecomp, and f2c::decomp::BoustrophedonDecomp.

◆ merge()

F2CCells f2c::decomp::DecompositionBase::merge ( const F2CCells cells,
const obj::DecompObjective obj 
)
virtual

Apply a merge strategy to reduce the number of simpler cells

Parameters
cellsSimple cells
Returns
Merged cells.

Definition at line 22 of file decomposition_base.cpp.

◆ split()

F2CCells f2c::decomp::DecompositionBase::split ( const F2CCells cells,
const obj::DecompObjective obj 
)
virtual

Split the field into several cells that are easier to cover

Parameters
cellsOriginal cells
Returns
Smaller cells that compound the field

Definition at line 17 of file decomposition_base.cpp.


The documentation for this class was generated from the following files:


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