this could be done by an algorithm which finds overlaps, the paths between overlapping faces, and then a minimum number of cuts that covers all of the sets of overlap-paths.
or user-defined:
user selects a meshEdge or a a flatEdge to be a new cut.
this edge is moved from the foldiEdge list to the cutEdge list. ->this creates a closed loop of cut edges.
the user can now select fold edges to cut in order to segment the net. the segment with fewer faces gets translated to a user-specified point. this is rather slow :( if the segments are equal size, its arbitrary
this could be done by an algorithm which finds overlaps, the paths between overlapping faces, and then a minimum number of cuts that covers all of the sets of overlap-paths.
or user-defined: user selects a meshEdge or a a flatEdge to be a new cut. this edge is moved from the foldiEdge list to the cutEdge list. ->this creates a closed loop of cut edges.