public void AgregaArista(Graphics g, Vertice v1, Vertice v2, int idV) { try { Arista a1 = new Arista(v2, idV); //v1 ------> v2 Arista a2 = new Arista(v1, idV); //v2 ------> v1 Console.WriteLine(vertices[v1.ID].Aristas.Count); Console.WriteLine(vertices[v2.ID].Aristas.Count); vertices[v1.ID].Aristas.Add(a1); vertices[v2.ID].Aristas.Add(a2); a1.DibujaArista(g, v1, v2); }catch (Exception ex) { Console.WriteLine("No se puede"); } }
public void VerticesD() { string a, b; int c = 0; a = Interaction.InputBox("Vertice inicial: ", "Arista dirigida", "0", 100, 50); b = Interaction.InputBox("Vertice final: ", "Arista dirigida", "0", 100, 50); try { auxv1 = Convert.ToInt32(a); auxv2 = Convert.ToInt32(b); } catch (Exception e) { } foreach (Vertice v in grafo.Vertices) { tipo = 2; if (auxv1 != auxv2 && (v.ID + 1) == auxv1 && c == 0) { v1 = v; v1.Seleccionar(lienzo); c = 1; Console.WriteLine("entre ejejejeje"); } } foreach (Vertice v in grafo.Vertices) { if (auxv1 != auxv2 && (v.ID + 1) == auxv2 && c == 1) { v2 = v; v2.Seleccionar(lienzo); grafo.AgregarAristaDir(lienzo, v1, v2); up2Date = false; toque = 0; Console.WriteLine("entre 2 ejejejeje"); } } if (auxv1 == auxv2) { MessageBox.Show("No pueden ser iguales"); } Console.WriteLine(grafo.Aristas.Count); }
public void AgregaVertice(Graphics g, int x, int y, int width, int height) { bool banColision = false; Vertice v = new Vertice(idv, x, y); foreach (Vertice ver in vertices) { banColision = x - v.Radio <= ver.X + ver.Radio && x + v.Radio >= ver.X - ver.Radio && y - v.Radio <= ver.Y + ver.Radio && y + v.Radio >= ver.Y - ver.Radio; if (banColision) { return; } } if (!banColision && v.ChecarLimites(x, y, width, height)) { idv++; vertices.Add(v); v.Dibujar(g); } }
public void DibujaArista(Graphics g, Vertice v1, Vertice v2) { Pen pablo = new Pen(Color.Black); g.DrawLine(pablo, v1.X, v1.Y, v2.X, v2.Y); }
public Arista(Vertice v, int i) { final = v; id = i; }
public bool ChecarVertice(Vertice v) { return((v.ID == idv1) || (v.ID == idv2)); }