Beispiel #1
0
        public static winMedia.PointCollection ConvertPoints(formsMedia.PointCollection srcPoints)
        {
            if (srcPoints == null || srcPoints.Count == 0)
            {
                return(new winMedia.PointCollection());
            }

            winMedia.PointCollection dstPoints = new winMedia.PointCollection();
            Point[] array = new Point[srcPoints.Count];
            srcPoints.CopyTo(array, 0);

            foreach (Point point in array)
            {
                dstPoints.Add(new winFound.Point(point.X, point.Y));
            }

            return(dstPoints);
        }
Beispiel #2
0
        public PathFragment(Windows.UI.Xaml.Media.PointCollection pointCollection)
            : base()
        {
            int    winding   = 0;
            double lastAngle = 0;

            foreach (Point p in pointCollection)
            {
                Cartesian c = new Cartesian(p.X, p.Y, 0, winding);
                if (BasicLib.Quadrant3To0(lastAngle, c.Angle))
                {
                    winding += 1;
                }
                else if (BasicLib.Quadrant0To3(lastAngle, c.Angle))
                {
                    winding -= 1;
                }
                c.WindingNumber = winding;
                Add(c);
                lastAngle = c.Angle;
            }
        }