plycutter.sheetbuild
plycutter.sheetbuild.SheetBuild
Data evolved by heuristics
Semantics:
chosen = set in stone
ok = as far as we know, this could be
chosen <= ok always.
When chosen == ok, we are done
Attributes
sheet_chosen -- PMap(sheet_id, Geom2D). Sheet areas chosen to be included. sheet_ok -- PMap(sheet_id, Geom2D). Sheet areas that are not forbidden by e.g. other sheets or by not being included at all.
interside_chosen -- PMap(sheet_id, Geom1D). For each interside, the regions where the interside's sheet has been chosen.
interside_ok -- PMap(sheet_id, Geom1D). For each interside, the regions where it would still be ok to choose that side.
There is a variety of sanity checks that can be made on a sheetbuild. The checks are relatively slow so by default they are made only infrequently (see sheetbuild.check_interval).
Call sb.check(force=True) to force a check to happen.
Methods
check(self, force=False)
Assert that various invariants are true.
unchoose_interside(self, interside_id, v)
State that the range v will never be chosen