/// <summary> /// Transforms list of points from data coordinates to screen coordinates. /// </summary> /// <param name="dataPoints">Points in data coordinates</param> /// <param name="transform">CoordinateTransform used to perform transformation</param> /// <returns>Points in screen coordinates</returns> public static List <Point> DataToScreen(this IEnumerable <Point> dataPoints, CoordinateTransform transform) { ICollection <Point> iCollection = dataPoints as ICollection <Point>; List <Point> res; if (iCollection != null) { res = new List <Point>(iCollection.Count); } else { res = new List <Point>(); } foreach (var point in dataPoints) { res.Add(transform.DataToScreen(point)); } return(res); }
/// <summary> /// Transforms point in data coordinates to screen coordinates. /// </summary> /// <param name="dataPoint">Point in data coordinates</param> /// <param name="transform">CoordinateTransform used to perform transformation</param> /// <returns>Point in screen coordinates</returns> public static Point DataToScreen(this Point dataPoint, CoordinateTransform transform) { return(transform.DataToScreen(dataPoint)); }