Index: trunk/doc/developer/polybool2/algo.txt =================================================================== --- trunk/doc/developer/polybool2/algo.txt (revision 36886) +++ trunk/doc/developer/polybool2/algo.txt (revision 36887) @@ -20,13 +20,18 @@ 1.4. handle overlaps 1.4.1. map curves that are fully overlapping; their endpoints must match 1.4.2. take a group of all overlapping curves for a single pair of endpoints + and remove all but one curve +( 1.4.2. take a group of all overlapping curves for a single pair of endpoints - if there is at least one other curve ends on both endpoints: - if there are even number of curves in the group, remove all curves - otherwise remove all curves from this group except one - else this is a stub: remove all curves of this group +) 2. split: list clean regions: 2.1. map all possible regions + Note: overlapping lines, e.g. in a bone, O--O, case may result in + having a curve that's not part of any region; ignore such curves 2.2. for each region starting frome ach intersection (curve-endpoint) check each curve that's not part of the region permiter; if that curve goes into the region, discard the region (as it is non-clean)