Public Member Functions | Private Member Functions | List of all members
f2c::decomp::BoustrophedonDecomp Class Reference

Boustrophedon Cellular decomposition [choset2000coverage]. More...

#include <boustrophedon_decomp.h>

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

Public Member Functions

F2CMultiLineString genSplitLines (const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective()) override
 
- Public Member Functions inherited from f2c::decomp::TrapezoidalDecomp
F2CMultiLineString genSplitLines (const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective()) override
 
double getSplitAngle () const
 Get split angle used to decompose the field. More...
 
void setSplitAngle (double ang)
 Set split angle used to decompose the field. More...
 
- Public Member Functions inherited from f2c::decomp::DecompositionBase
virtual F2CCells decompose (const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective())
 Decompose F2CCells into simpler F2CCells. More...
 
virtual F2CCells merge (const F2CCells &cells, const obj::DecompObjective &obj)
 
virtual F2CCells split (const F2CCells &cells, const obj::DecompObjective &obj)
 
virtual ~DecompositionBase ()=default
 

Private Member Functions

bool isLinePartOfLinearRing (const F2CLinearRing &ring, const F2CLineString &line) const
 

Additional Inherited Members

- Protected Attributes inherited from f2c::decomp::TrapezoidalDecomp
double split_angle {0.0}
 

Detailed Description

Boustrophedon Cellular decomposition [choset2000coverage].

Each point in the geometry is checked if it is a critical point. A critical point is defined as a point that split or merge cells in the split_angle . If it is a critical point, split lines are created in the perpendicular to the split_angle.

Definition at line 23 of file boustrophedon_decomp.h.

Member Function Documentation

◆ genSplitLines()

F2CMultiLineString f2c::decomp::BoustrophedonDecomp::genSplitLines ( const F2CCells cells,
const obj::DecompObjective obj = obj::DecompObjective() 
)
overridevirtual

Split the field into several cells that are easier to cover

Parameters
cellsOriginal cells
Returns
Smaller cells that compound the field

Implements f2c::decomp::DecompositionBase.

Definition at line 36 of file boustrophedon_decomp.cpp.

◆ isLinePartOfLinearRing()

bool f2c::decomp::BoustrophedonDecomp::isLinePartOfLinearRing ( const F2CLinearRing ring,
const F2CLineString line 
) const
private

Definition at line 12 of file boustrophedon_decomp.cpp.


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


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