Skip to main content

free_faces_within

Function free_faces_within 

Source
pub fn free_faces_within(
    input: &FreeSpaceInput,
    gap: f64,
    execution: &ExecutionOptions,
) -> Result<FreeFaces, FreeFacesError>
Expand description

free_faces with execution options: the memory budget (ADR 0088) and the cancellation token; the tolerance is execution.tolerance().

The memory budget bounds what grows with the number of crossings, T-junctions and bridges: the cuts of both arrangements (as arrange charges them, on top of 256 bytes per input segment or bridge), each exact foot and each bridge the search for bridges keeps, and the cells and fragments of snap rounding. Exceeding it is BudgetExceeded for "memory". It does not bound the arrangement’s own vertices and pieces, the faces, the rings or the output, which are linear in the size of the arrangement; the search’s candidate pairs, quadratic in the worst case, are bounded only through the feet and bridges they keep, and by cancellation.