Ejemplo n.º 1
0
        public override void OnMouseUp(MouseEventArgs e)
        {
            var newP = WinManager.Instance.CreatePoint(e.X, CGUtils.ReversedY(e.Y));

            if (newP == null)
            {
                //var currP = form.currPt;
                //if (form.Points.Count > 1 && CGUtils.SqrtLength(form.Points[0], currP) < 500) {
                //    form.Points[0].pred = lastP;
                //    lastP.succ = form.Points[0];
                //    Draw.DrawLine(lastP, form.Points[0]);
                //    Draw.DrawImage();
                //    lastP = null;
                //}
                return;
            }
            Draw.DrawPoint(newP);
            Draw.DrawLine(lastP, newP);
            var edge = CGEdge.CreateEdge(lastP, newP);

            edges.Add(edge);
            lastP.owner = edge;
            newP.owner  = edge;
            lastP.succ  = newP;
            newP.pred   = lastP;
            lastP       = null;
        }
Ejemplo n.º 2
0
        public override void OnPaint(PaintEventArgs e)
        {
            if (lastP == null)
            {
                return;
            }
            Pen p     = new Pen(Color.Black);
            var currP = form.currPt;

            Draw.DrawLine(lastP, currP, e.Graphics);
        }
Ejemplo n.º 3
0
        public override void DrawResult()
        {
            var ltl  = CGUtils.LowestThenLeftmost(WinManager.Instance.data.points);
            var curr = ltl;

            do
            {
                Draw.DrawLine(curr, curr.succ);
                curr = curr.succ;
            } while (ltl != curr);
            Draw.DrawImage();
        }
Ejemplo n.º 4
0
        public virtual void DrawResult()
        {
            var dashLinePen = new Pen(Color.Gray);

            dashLinePen.DashStyle   = System.Drawing.Drawing2D.DashStyle.Custom;
            dashLinePen.DashPattern = new float[] { 5, 5 };
            Draw.SetPen(dashLinePen);
            for (int i = 0; i < p.internalEdges.Count; i++)
            {
                Draw.DrawLine(p.internalEdges[i].from, p.internalEdges[i].to);
            }
            Draw.DrawImage();
            Draw.ResetPen();
        }
Ejemplo n.º 5
0
        public override void OnMouseUp(MouseEventArgs e)
        {
            var newP = WinManager.Instance.CreatePoint(e.X, CGUtils.ReversedY(e.Y));

            if (newP == null)
            {
                var currP = form.currPt;
                if (CGUtils.SqrtLength(linkPoint, currP) < 500)
                {
                    linkPoint.pred = lastP;
                    lastP.succ     = linkPoint;
                    Draw.DrawLine(lastP, linkPoint);
                    Draw.DrawImage();
                    lastP = null;
                }
                return;
            }
            Draw.DrawPoint(newP);
            Draw.DrawLine(lastP, newP);
            lastP.succ = newP;
            newP.pred  = lastP;
            lastP      = newP;
        }