Clemens Gröpl - 2008-09-15

I'm using a little hack to increase the line width and arrow size in dot graphs. Any chance to make this an option in Doxyfile? Or maybe let these become the default settings in a future release? ;-)

The reason is that I find it very hard to discern the colors if lines are only 1 pixel wide.

Dr. Clemens Gröpl           mailto:groepl@inf.fu-berlin.de
Freie Universität Berlin    http://www.mi.fu-berlin.de/~groepl/
Institut für Informatik     Phone: +49 30 838 75 229 / Fax: 218
Takustraße 9                Room 011
14195 Berlin

$ cat dot
#!/bin/bash

# The following is a hack around the actual "dot" program
# which increases the linewidth in the generated figures.
# Note that the PATH must not include this directory in order to avoid cycles.
# Doxygen apparently does not allow us to use another name for the dot program. (?!)
# Any suggestions to improve the way all this is done are highly welcome!

echo '"fat" dot is being called:' dot $@

sed -i 's/style="/arrowsize=1.3,style="setlinewidth(2),/' $1
dot $@
<EOF>

The effect is shown by this example:

$ head classOpenMS_1_1Peak1D__coll__graph.dot*
==> classOpenMS_1_1Peak1D__coll__graph.dot_original <==
digraph G
{
  edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10];
  node [fontname="FreeSans",fontsize=10,shape=record];
  Node1 [label="OpenMS::Peak1D",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
  Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="position_",fontname="FreeSans"];
  Node2 [label="DPosition\&lt; 1 \&gt;",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
  Node3 -> Node1 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="intensity_",fontname="FreeSans"];
  Node3 [label="Real",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$classReal.html"];
}

==> classOpenMS_1_1Peak1D__coll__graph.dot_patched <==
digraph G
{
  edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10];
  node [fontname="FreeSans",fontsize=10,shape=record];
  Node1 [label="OpenMS::Peak1D",height=0.2,width=0.4,color="black", fillcolor="grey75", arrowsize=1.3,style="setlinewidth(2),filled" fontcolor="black"];
  Node2 -> Node1 [dir=back,color="darkorchid3",fontsize=10,arrowsize=1.3,style="setlinewidth(2),dashed",label="position_",fontname="FreeSans"];
  Node2 [label="DPosition\&lt; 1 \&gt;",height=0.2,width=0.4,color="grey75", fillcolor="white", arrowsize=1.3,style="setlinewidth(2),filled"];
  Node3 -> Node1 [dir=back,color="darkorchid3",fontsize=10,arrowsize=1.3,style="setlinewidth(2),dashed",label="intensity_",fontname="FreeSans"];
  Node3 [label="Real",height=0.2,width=0.4,color="black", fillcolor="white", arrowsize=1.3,style="setlinewidth(2),filled",URL="$classReal.html"];
}