Beispiel #1
1
        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;
            }
        }
Beispiel #2
0
        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;
            }
        }