private void RemoveSperm(Sperm sperm) { var newSpermatosoids = new List <Sperm>(Spermatosoids.State); newSpermatosoids.Remove(sperm); Spermatosoids = Spermatosoids.Change(newSpermatosoids); }
private void AddSperm(Sperm sperm) { var newSpermatosoids = new List <Sperm>(Spermatosoids.State); newSpermatosoids.Add(sperm); Spermatosoids = Spermatosoids.Change(newSpermatosoids); }
public void Mark(Point point, SpermType spermType) { var radius = Math.Sqrt(avarageSpermArea / Math.PI); var circle = point.GetCircle(radius); var newSperm = new Sperm(circle.ToList(), point, spermType); AddSperm(newSperm); ShowAll(); }