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; }
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); }
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(); }
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(); }
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; }