public static void DetachBeach(ref RedBlackTree circles, ref RedBlackTree beaches, RedBlackTree beach) { Circle.DetachCircle(ref circles, beach); beaches.Remove(beach); Beach.BeachPool.Add(beach); beach.Reset(); }
public static void DetachCircle(ref RedBlackTree circles, RedBlackTree arc) { var circle = arc.Circle; if (circle != null) { if (circle.P == null) { FirstCircle = circle.N; } circles.Remove(circle); CirclePool.Add(circle); circle.Reset(); arc.Circle = null; } }