Closed jlopezbi closed 8 years ago
well really its a matter of finding minimum spanning forests.
The new model of the code completely side-steps this problem. MSTs are relevant for automated cut-edge specification. If a use sets a loop of cut edges, the new method will spawn an island for that region. The IslandMaker, or whatever it is that traverses the mesh and populates an island, will be bounded by a loop of cut edges and will stop populating and island after it has traversed all the faces it can. Such a process can be started again in a different region outside the loop of cut-edges. This behavior is not actually implemented yet, but it is implicit in the new organization of the code. Once this behavior is actually tested and working this issue should be closed
Test has been created and passes wherein a lop of cuts exists, and the unfolder creates two appropriate islands. Also a test exists and passes, which shows that the automated cut selection honors loops of user cuts. This issue is considered closed.
when a user selects a closed loop of cut edges, that region of the mesh should become a separate island from the rest of the net. This is not the case currently, since the MST algorithm finds a full MST of the dual of the mesh.
Idea: detect a closed loop of cut edges and tag those edges: as layout occurs, if a fold edge is tagged as part of a user-selected closed loop, then that face is layed-out in a new location. all the other edges in that loop are now considered cut edges, even if they were fold edges assigned by the MST algo (kurskal's). This avoids finding sub-MSTs of the dual, which might be a pain.