private void PEBIGrid(PO p0) { util u1 = new util(); Node <LINE> la, lb, lc; PO pk1, pk2, pk3; PO p1, p2; la = p0.ll.Head; while (la.Next.Next != null) { lb = la.Next; lc = la.Next.Next; if (la.Data.p1 == p0) { pk1 = la.Data.p2; } else { pk1 = la.Data.p1; } if (lb.Data.p1 == p0) { pk2 = lb.Data.p2; } else { pk2 = lb.Data.p1; } if (lc.Data.p1 == p0) { pk3 = lc.Data.p2; } else { pk3 = lc.Data.p1; } p1 = u1.SearchOutHeart(p0, pk1, pk2); p2 = u1.SearchOutHeart(p0, pk2, pk3); PAINT.GetLL(new LINE(p1, p2)); la = la.Next; } lb = la.Next; lc = p0.ll.Head; if (la.Data.p1 == p0) { pk1 = la.Data.p2; } else { pk1 = la.Data.p1; } if (lb.Data.p1 == p0) { pk2 = lb.Data.p2; } else { pk2 = lb.Data.p1; } if (lc.Data.p1 == p0) { pk3 = lc.Data.p2; } else { pk3 = lc.Data.p1; } p1 = u1.SearchOutHeart(p0, pk1, pk2); p2 = u1.SearchOutHeart(p0, pk2, pk3); PAINT.GetLL(new LINE(p1, p2)); la = la.Next; }
private void PEBIGrid(PO p0) { util u1 = new util(); Node <LINE> la, lb, lc; PO pk1, pk2, pk3; PO p1, p2; la = p0.ll.Head; while (la.Next.Next != null) { lb = la.Next; lc = la.Next.Next; if (la.Data.p1 == p0) { pk1 = la.Data.p2; } else { pk1 = la.Data.p1; } if (lb.Data.p1 == p0) { pk2 = lb.Data.p2; } else { pk2 = lb.Data.p1; } if (lc.Data.p1 == p0) { pk3 = lc.Data.p2; } else { pk3 = lc.Data.p1; } p1 = u1.SearchOutHeart(p0, pk1, pk2); p2 = u1.SearchOutHeart(p0, pk2, pk3); PAINT.GetLL_pebi(new LINE(p1, p2)); la = la.Next; } PO pt1, pt2; pt1 = p0.ll.Head.Data.getanotherpo(p0); pt2 = p0.ll.Last.Data.getanotherpo(p0); if (Is_OutSide(pt1, pt2) != null) { lb = la.Next; lc = p0.ll.Head; if (la.Data.p1.IsEqualToMe(p0)) { pk1 = la.Data.p2; } else { pk1 = la.Data.p1; } if (lb.Data.p1.IsEqualToMe(p0)) { pk2 = lb.Data.p2; } else { pk2 = lb.Data.p1; } if (lc.Data.p1.IsEqualToMe(p0)) { pk3 = lc.Data.p2; } else { pk3 = lc.Data.p1; } p1 = u1.SearchOutHeart(p0, pk1, pk2); p2 = u1.SearchOutHeart(p0, pk2, pk3); PAINT.GetLL_pebi(new LINE(p1, p2)); //l2 la = p0.ll.Last; lb = p0.ll.Head; lc = lb.Next; if (la.Data.p1.IsEqualToMe(p0)) { pk1 = la.Data.p2; } else { pk1 = la.Data.p1; } if (lb.Data.p1.IsEqualToMe(p0)) { pk2 = lb.Data.p2; } else { pk2 = lb.Data.p1; } if (lc.Data.p1.IsEqualToMe(p0)) { pk3 = lc.Data.p2; } else { pk3 = lc.Data.p1; } p1 = u1.SearchOutHeart(p0, pk1, pk2); p2 = u1.SearchOutHeart(p0, pk2, pk3); PAINT.GetLL_pebi(new LINE(p1, p2)); } }