Flip32(DN n1, DN n2, DN n3, d3 p31, d3 p12, d3 p23, d3 apex_x, d3 apex_y) { d3 a = p31; d3 b = p12; d3 c = p23; DN nx = new DN(a, b, c, apex_x); DN ny = new DN(a, b, c, apex_y); nx.neighbor.Add(ny); ny.neighbor.Add(nx); TR xab = new TR(apex_x, a, b); TR yab = new TR(apex_y, a, b); TR xbc = new TR(apex_x, b, c); TR ybc = new TR(apex_y, b, c); TR xca = new TR(apex_x, c, a); TR yca = new TR(apex_y, c, a); n1.SetNeighbor(nx, xab); n2.SetNeighbor(nx, xbc); n3.SetNeighbor(nx, xca); n1.SetNeighbor(ny, yab); n2.SetNeighbor(ny, ybc); n3.SetNeighbor(ny, yca); return(xab, xbc, xca, yab, ybc, yca, nx, ny); }
Flip23(DN n1, DN n2, d3 p1, d3 p2, TR t) { DN nab = new DN(p1, p2, t.a, t.b); DN nbc = new DN(p1, p2, t.b, t.c); DN nca = new DN(p1, p2, t.c, t.a); nab.neighbor = new List <DN> { nbc, nca }; nbc.neighbor = new List <DN> { nca, nab }; nca.neighbor = new List <DN> { nab, nbc }; TR t_ab_p1 = new TR(t.a, t.b, p1); n1.SetNeighbor(nab, t_ab_p1); TR t_ab_p2 = new TR(t.a, t.b, p2); n2.SetNeighbor(nab, t_ab_p2); TR t_bc_p1 = new TR(t.b, t.c, p1); n1.SetNeighbor(nbc, t_bc_p1); TR t_bc_p2 = new TR(t.b, t.c, p2); n2.SetNeighbor(nbc, t_bc_p2); TR t_ca_p1 = new TR(t.c, t.a, p1); n1.SetNeighbor(nca, t_ca_p1); TR t_ca_p2 = new TR(t.c, t.a, p2); n2.SetNeighbor(nca, t_ca_p2); return(t_ab_p1, t_ab_p2, t_bc_p1, t_bc_p2, t_ca_p1, t_ca_p2, nab, nbc, nca); }