Boustrophedon Cellular decomposition [choset2000coverage]. More...
#include <boustrophedon_decomp.h>
Public Member Functions | |
F2CMultiLineString | genSplitLines (const F2CCells &cells, const obj::DecompObjective &obj=obj::DecompObjective()) override |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
double | split_angle {0.0} |
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.
|
overridevirtual |
Split the field into several cells that are easier to cover
cells | Original cells |
Implements f2c::decomp::DecompositionBase.
Definition at line 36 of file boustrophedon_decomp.cpp.
|
private |
Definition at line 12 of file boustrophedon_decomp.cpp.