void generarAristas() { int ponderacion = 0; int j = 0; int generarID = 0; Arista aux = new Arista(-1, null, null, 5000); for (int i = 0; i < grafo.getVertices().Count; i++) { for (j = i + 1; j < grafo.getVertices().Count; j++) { ponderacion = obtenerDistancia(grafo.getVertices()[i].getCentro(), grafo.getVertices()[j].getCentro()); if (ponderacion < aux.getPonderacion()) { aux = new Arista(-1, grafo.getVertices()[i], grafo.getVertices()[j], ponderacion); } if (detectarObstaculos(grafo.getVertices()[i].getCentro(), grafo.getVertices()[j].getCentro())) { Arista arista = new Arista(generarID, grafo.getVertices()[i], grafo.getVertices()[j], ponderacion); grafo.getVertices()[i].agregarArista(arista); generarID++; Arista _arista = new Arista(generarID, grafo.getVertices()[j], grafo.getVertices()[i], ponderacion); grafo.getVertices()[j].agregarArista(_arista); generarID++; pictureBox1.Refresh(); //MessageBox.Show("Origen "+grafo.getVertices()[j].getLista()[0].getOrigen().getID()); //MessageBox.Show("Destino: "+grafo.getVertices()[j].getLista()[0].getDestino().getID()); } } } if (grafo.getVertices().Count > 1) { dibujarCentro(aux.getOrigen().getCentro().X, aux.getOrigen().getCentro().Y); dibujarCentro(aux.getDestino().getCentro().X, aux.getDestino().getCentro().Y); } else { MessageBox.Show("Debe haber como mínimo 2 vértices para conectar"); } pictureBox1.Refresh(); pintarAristas(); }
public void agregarArista(Arista l) { this.aL.Add(l); }