Function iron_shapes_booleanop::sweep_line::intersection::subdivide_segments
source · pub fn subdivide_segments<T, I, Ctr, P, UpdateCtrFn>(
edge_intersection: I,
event_queue: &mut BinaryHeap<Rc<SweepEvent<T, Ctr, P>>>,
update_counter: UpdateCtrFn
) -> Vec<Rc<SweepEvent<T, Ctr, P>>>where
I: Fn(&Edge<T>, &Edge<T>) -> EdgeIntersection<T, T, Edge<T>>,
T: CoordinateType + Debug,
Ctr: Clone + Default,
P: Clone,
UpdateCtrFn: Fn(&Rc<SweepEvent<T, Ctr, P>>, Option<&Rc<SweepEvent<T, Ctr, P>>>),Expand description
Find all intersecting segments and subdivide them such that the set of resulting segments contains no intersecting segments anymore. The resulting events are sorted by their coordinates.