Пример #1
0
 public static Point[] ToDrawingPoint(this Point2D[] points, IntegerConversionMode mode)
 {
     Point[] res = new Point[points.Length];
     for (int i = 0; i < points.Length; i++)
     {
         res[i] = new Point(points[i].X.ToInteger(mode),
                            points[i].Y.ToInteger(mode));
     }
     return(res);
 }
Пример #2
0
        /// <summary>
        /// Fluent versions of Math.blah.
        /// Also use full for putting integer conversion mode options in a property grid etc.
        /// </summary>
        public static int ToInteger(this double d, IntegerConversionMode mode)
        {
            switch (mode)
            {
            case IntegerConversionMode.Floor:
                return((int)Math.Floor(d));

            case IntegerConversionMode.Ceiling:
                return((int)Math.Ceiling(d));

            case IntegerConversionMode.ToZero:
                return((d > 0) ? (int)Math.Floor(d) : (int)Math.Ceiling(d));

            case IntegerConversionMode.AwayFromZero:
                return((d > 0) ? (int)Math.Ceiling(d) : (int)Math.Floor(d));
            }

            return((int)d);
        }
Пример #3
0
        public static IList <Point> ToDrawingPoints(this IEnumerable <Point2D> points, IntegerConversionMode mode)
        {
            List <Point> res = new List <Point>();

            foreach (Point2D point in points)
            {
                Point p = new Point(point.X.ToInteger(mode),
                                    point.Y.ToInteger(mode));

                res.Add(p);
            }
            return(res);
        }
Пример #4
0
 public Size ToSize(IntegerConversionMode mode)
 {
     return(new Size(X.ToInteger(mode), Y.ToInteger(mode)));
 }