public static int CompareByYThenX(Site s1, Site s2) { if (s1.Y < s2.Y) return -1; if (s1.Y > s2.Y) return 1; if (s1.X < s2.X) return -1; if (s1.X > s2.X) return 1; return 0; }
public static int CompareByYThenX(Site s1, Vector2 s2) { if (s1.Y < s2.y) return -1; if (s1.Y > s2.y) return 1; if (s1.X < s2.x) return -1; if (s1.X > s2.x) return 1; return 0; }
public int CompareTo(Site s1) { var returnValue = Voronoi.CompareByYThenX(this, s1); int tempIndex; switch (returnValue) { case -1: if (SiteIndex > s1.SiteIndex) { tempIndex = SiteIndex; SiteIndex = s1.SiteIndex; s1.SiteIndex = tempIndex; } break; case 1: if (s1.SiteIndex > SiteIndex) { tempIndex = s1.SiteIndex; s1.SiteIndex = SiteIndex; SiteIndex = tempIndex; } break; } return returnValue; }
private static Site RightRegion(HalfEdge halfEdge, Site bottomMostSite) { var edge = halfEdge.Edge; return edge == null ? bottomMostSite : edge.Site(SideHelper.Other((Side)halfEdge.LeftOrRight)); }