public void VertexFind(NewEdgeDefinition vertexClick, MouseEventArgs e, List <VertexDraw> vertexDraws, List <EdgeDraw> edgeDraws, ref int startVertexId, ref int endVertexId, ref AdjacencyList adjacencyList, AdjacencyListPanel adListPanel, MatrixWeightPanel matrixWeightPanel) { vertexClick.VertexRemember(ref startVertexId, ref endVertexId , e.X - (int)VertexParameters.Radius, e.Y - (int)VertexParameters.Radius , vertexDraws); if ((startVertexId != -1) && (endVertexId != -1) && (startVertexId != endVertexId) && (!IsDuplicate(edgeDraws, startVertexId, endVertexId))) { EdgeDraw edgeDraw = new EdgeDraw(BrushColor.Black, 0, startVertexId, endVertexId); edgeDraws.Add(edgeDraw); adjacencyList.AddNode(startVertexId, endVertexId, 1); adListPanel.UpdateNodesPanel(startVertexId, endVertexId); matrixWeightPanel.UpdateNodes(startVertexId, endVertexId); startVertexId = -1; endVertexId = -1; } else if (IsDuplicate(edgeDraws, startVertexId, endVertexId)) { startVertexId = -1; endVertexId = -1; } }
public void DefinitionOfEdge(List <VertexDraw> vertexDraws, EdgeDraw edge, ref Point p1, ref Point p2) { p1.X = 0; p1.Y = 0; p2.X = 0; p2.Y = 0; foreach (var vertex in vertexDraws) { if (edge.Id == vertex.Id) { p1.X = (int)vertex.X + (int)VertexParameters.Radius; p1.Y = (int)vertex.Y + (int)VertexParameters.Radius; } else if (edge.ConnectabelVertex == vertex.Id) { p2.X = (int)vertex.X + (int)VertexParameters.Radius; p2.Y = (int)vertex.Y + (int)VertexParameters.Radius; } } }