pub fn trace(
points: &ExactPoints,
arrangement: &Arrangement,
half_edges: &[HalfEdge],
keep: &dyn Fn(VertexId) -> bool,
budget: &mut PairBudget,
options: &ExecutionOptions,
) -> GeomResult<(Vec<TracedRing>, Vec<TracedRegion>)>Expand description
Close half_edges, which all carry one class on their left, into rings
and nest them.
keep says which vertices a ring must keep even where it runs straight
through them, typically those where other boundary meets. Each pair of
rings whose containment is decided counts against budget. Returns the
rings in the order of their first half-edge by (from, to) vertex, and the
regions, one per outer ring in that order.