void resolve_vtx_pairs() { //HashSet<int> targetVerts = new HashSet<int>(cutTargetOp.CutVertices); //HashSet<int> toolVerts = new HashSet<int>(cutToolOp.CutVertices); // tracking on-cut vertices is not working yet... Util.gDevAssert(Target.IsClosed() && Tool.IsClosed()); HashSet <int> targetVerts = new HashSet <int>(MeshIterators.BoundaryVertices(cutTargetMesh)); HashSet <int> toolVerts = new HashSet <int>(MeshIterators.BoundaryVertices(cutToolMesh)); split_missing(cutTargetOp, cutToolOp, cutTargetMesh, cutToolMesh, targetVerts, toolVerts); split_missing(cutToolOp, cutTargetOp, cutToolMesh, cutTargetMesh, toolVerts, targetVerts); }
/// <summary> /// Disconnect all bowtie vertices in mesh. Iterates because sometimes /// disconnecting a bowtie creates new bowties (how??) /// </summary> public void DisconnectAllBowties(int nMaxIters = 10) { List <int> bowties = new List <int>(MeshIterators.BowtieVertices(Mesh)); int iter = 0; while (bowties.Count > 0 && iter++ < nMaxIters) { foreach (int vid in bowties) { DisconnectBowtie(vid); } bowties = new List <int>(MeshIterators.BowtieVertices(Mesh)); } }