Example #1
0
  public int toDOT(FileWriter fr, boolean redColored, int i) throws IOException {

    String red, format, val, blue;
    int me = i, aux;
    if (redColored) {
      red = "color=red, style=filled, ";
    } else {
      red = "";
    }
    if (value == Integer.MAX_VALUE || value == Integer.MIN_VALUE) {
      val = "";
      blue = "color=blue, style=filled, ";
    } else {
      val = "" + value;
      blue = "";
    }
    format = getDOTFormat();
    fr.append(me + " [" + red + blue + format + "label=\"" + pos.toString() + " " + val + "\"];\n");
    boolean redSon, selected = true;
    for (Node son : childs) {
      if (selected && son.value == value) {
        selected = false;
        redSon = true;
      } else {
        redSon = false;
      }
      aux = i + 1;
      i = son.toDOT(fr, redSon, ++i);
      fr.append(me + " -> " + aux + ";\n");
    }
    return i;
  }