private void tsBtnAddEdge_Click(object sender, EventArgs e) { if (sourceModel == null || stockModel == null || sourceModel.Key == stockModel.Key) { return; } string weight = null; if (_field.IsWeighted) { SetWeightForm window = new SetWeightForm(); window.Owner = this; window.ShowDialog(); if (window.Ok) { weight = window.Weight; } } AEdgeModel edgeModel; if (_field.IsOrgraph) { edgeModel = new OrientEdgeModel(sourceModel, stockModel, weight); } else { edgeModel = new NonOrientEdgeModel(sourceModel, stockModel, weight); } CommandEntered?.Invoke(this, new AddModelCommandArgs(edgeModel)); _field.UnmarkGraphModels(); }
private void DrawNonOrientEdge(Graphics g, NonOrientEdgeModel edge, vec2 min, vec2 max) { vec2 start = new vec2(edge.PosA); vec2 end = new vec2(edge.PosB); if (Clip.RectangleClip(ref start, ref end, min, max)) { g.DrawLine(pen, start.x, start.y, end.x, end.y); } if (edge.Weighted && Clip.SimpleClip(new vec2(edge.WeightPos.x + 5f, edge.WeightPos.y + 5f), max, min, GlobalParameters.Radius)) { DrawWeight(g, edge, min, max); } }