public DisplayData TrimTo(RectangleF window) { try { var trimmedDisplay = new DisplayData(this.FileName); var xList = new List <double>(); var ptList = new List <PointF>(); foreach (PointF pt in this) { if (pt.X >= window.Left && pt.X <= window.Right) { if (window.Bottom <= 0 && window.Top <= 0 && pt.Y < 0) { ptList.Add(new PointF(pt.X, pt.Y)); xList.Add(pt.X); } if (window.Bottom >= 0 && window.Top >= 0 && pt.Y > 0) { ptList.Add(new PointF(pt.X, pt.Y)); xList.Add(pt.X); } } } var ptArr = ptList.ToArray(); Array.Sort(xList.ToArray(), ptArr); trimmedDisplay.AddRange(ptArr); return(trimmedDisplay); } catch (Exception) { throw; } }
public IDisplayData TrimToWindow(RectangleF window) { try { var trimmedDisplay = new DisplayData(this.FileName); var xList = new List <double>(); var ptList = new List <PointF>(); foreach (PointF pt in data) { if (window.Contains(pt)) { ptList.Add(new PointF(pt.X, pt.Y)); xList.Add(pt.X); } //if (pt.X >= window.Left && pt.X <= window.Right) //{ // if (window.Bottom <= 0 && window.Top <= 0 && pt.Y < 0) // { // ptList.Add(new PointF(pt.X, pt.Y)); // xList.Add(pt.X); // } // if (window.Bottom >= 0 && window.Top >= 0 && pt.Y > 0) // { // ptList.Add(new PointF(pt.X, pt.Y)); // xList.Add(pt.X); // } //} } var ptArr = ptList.ToArray(); Array.Sort(xList.ToArray(), ptArr); trimmedDisplay.AddRange(ptArr.ToList()); trimmedDisplay.Color = Color; return(trimmedDisplay); } catch (Exception) { throw; } }