private void AddRandomFigure(IGeometrySink sink, int segmentCount) { previousPoint = null; sink.BeginFigure( RandomNearPoint(), CoinFlip ? FigureBegin.Filled : FigureBegin.Hollow); FigureEnd end = CoinFlip ? FigureEnd.Closed : FigureEnd.Closed; if (end == FigureEnd.Closed) { segmentCount--; } if (CoinFlip) { for (int i = 0; i < segmentCount; i++) { AddRandomSegment(sink); } } else { double which = Random.NextDouble(); if (which < 0.33) { sink.AddLines(RandomLines(segmentCount)); } else if (which < 0.67) { sink.AddQuadraticBeziers(RandomQuadraticBeziers(segmentCount)); } else { sink.AddBeziers(RandomBeziers(segmentCount)); } } sink.EndFigure(end); }
private void AddRandomFigure(IGeometrySink sink, int segmentCount) { previousPoint = null; sink.BeginFigure( RandomNearPoint(), CoinFlip ? FigureBegin.Filled : FigureBegin.Hollow); FigureEnd end = CoinFlip ? FigureEnd.Closed : FigureEnd.Closed; if (end == FigureEnd.Closed) segmentCount--; if (CoinFlip) for (int i = 0; i < segmentCount; i++) AddRandomSegment(sink); else { double which = Random.NextDouble(); if (which < 0.33) sink.AddLines(RandomLines(segmentCount)); else if (which < 0.67) sink.AddQuadraticBeziers(RandomQuadraticBeziers(segmentCount)); else sink.AddBeziers(RandomBeziers(segmentCount)); } sink.EndFigure(end); }