public IEnumerator <SPoint> GetEnumerator() { var controlPoints = delegateStroke.ToList(); for (int i = 0; i < controlPoints.Count - 1; i++) { var newPoints = GetPointsBetween(controlPoints[i], controlPoints[i + 1], (i != 0)); foreach (var p in newPoints) { yield return(p); } } }
public IEnumerator <SPoint> GetEnumerator() { var controlPoints = delegateStroke.ToList(); for (int i = 0; i < controlPoints.Count; i++) { int x = (int)Math.Round(controlPoints[i].X - Radius * Math.Sin(i * AngularSpeed / 180.0 * Math.PI)); int y = (int)Math.Round(controlPoints[i].Y - Radius * Math.Cos(i * AngularSpeed / 180.0 * Math.PI)); var result = new SPoint(controlPoints[i]); result.X = x; result.Y = y; yield return(result); } }