Esempio n. 1
0
        private void Timer1_Tick(object sender, EventArgs e)
        {
            renderTarget.BeginDraw();
            renderTarget.Clear(new RawColor4(1, 1, 1, 1));
            //renderTarget.DrawGeometry(path, brush);
            //foreach (var point in points)
            //    renderTarget.DrawLine(point, new RawVector2(point.X+4,point.Y+4), red, 4);

            for (int i = 0; i < line.rads.Count; i++)
            {
                Ellipse ellipse = new Ellipse(new RawVector2(line.points[i].X, line.points[i].Y), line.rads[i], line.rads[i]);
                renderTarget.DrawEllipse(ellipse, brush);
            }

            PathGeometry path = new PathGeometry(factory);

            path.FromPoints(contour, line.interpolatedNormals, true);
            renderTarget.FillGeometry(path, blue);
            path.Dispose();

            for (int i = 0; i < contour.Length; i++)
            {
                renderTarget.FillEllipse(new Ellipse(new RawVector2(contour[i].X, contour[i].Y),
                                                     1, 1), red);
            }

            KVector2 a  = new KVector2(200, 200);
            KVector2 a1 = new KVector2(100, 50);
            KVector2 a2 = a1.Orthogonal;

            renderTarget.DrawLine(new RawVector2(a.X, a.Y),
                                  new RawVector2(a.X + a1.X, a.Y + a1.Y), red);
            renderTarget.DrawLine(new RawVector2(a.X, a.Y),
                                  new RawVector2(a.X + a2.X, a.Y + a2.Y), brush);

            renderTarget.EndDraw();
        }