/* only one direction, not both ways */
 public void agregarTramo(Double x1, Double y1, Double x2, Double y2, int m) {
   int origen = coordenadas.buscar(String.valueOf(x1 + y1));
   int destino = coordenadas.buscar(String.valueOf(x2 + y2));
   Tramo t = new Tramo(m);
   mapa[origen][destino] = t;
   mapa[destino][origen] = t;
   // this.mapa[origen - 1][destino - 1] = new Arco(costo);
   // this.aristas[posB][posA] = new Arco(costo);
 }
 public Tramo retTramo(Double x1, Double y1, Double x2, Double y2, int m) {
   Tramo t = null;
   int origen = coordenadas.buscar(String.valueOf(x1 + y1));
   int destino = coordenadas.buscar(String.valueOf(x2 + y2));
   if (this.mapa[origen][destino].isExiste()) {
     t = this.mapa[origen][destino];
   }
   return t;
 }
 public Tramo retTramoExistente(Double x1, Double y1, Double x2, Double y2) {
   Tramo t = null;
   int origen = coordenadas.buscar(String.valueOf(x1 + y1));
   int destino = coordenadas.buscar(String.valueOf(x2 + y2));
   if ((int) Integer.valueOf(mapa[origen][destino].getMetros())
       != (int) Integer.valueOf(Integer.MAX_VALUE)) {
     t = this.mapa[origen][destino];
   }
   return t;
 }
  public Retorno DICKSTRAP1(Double x, Double y) {
    Retorno ret = new Retorno();
    ret.valorString = "";
    Esquina[] visited = new Esquina[tamano];
    Esquina[] preceding = new Esquina[tamano];
    Tramo[][] edges = new Tramo[tamano][tamano];
    int distances[] = new int[tamano];

    int origen = coordenadas.buscar(String.valueOf(x + y));
    visited[origen] = getVertices()[origen];

    for (int i = 0; i < tamano; i++) {
      distances[i] = Integer.MAX_VALUE;
    }

    distances[origen] = 0;

    while (visited.length < tamano) {}

    return ret;
  }