Ejemplo n.º 1
0
        protected void drawCoil(Point a, Point b, double v1, double v2)
        {
            var coilLen = (float)Utils.Distance(a, b);

            if (0 == coilLen)
            {
                return;
            }
            /* draw more loops for a longer coil */
            Context.LineColor = NeedsHighlight ? CustomGraphics.SelectColor : CustomGraphics.GrayColor;
            var loopCt = (int)Math.Ceiling(coilLen / 11);
            var w      = coilLen / loopCt;
            var th     = (float)(Utils.Angle(a, b) * 180 / Math.PI);
            var pos    = new Point();

            for (int loop = 0; loop != loopCt; loop++)
            {
                Utils.InterpPoint(a, b, ref pos, (loop + 0.5) / loopCt, 0);
                Context.DrawArc(pos, w, th, -180);
            }
        }