Skip to content

Instantly share code, notes, and snippets.

@steveroush
Last active July 12, 2023 00:54
Show Gist options
  • Save steveroush/60d9a850a545ec4e02b0482c7bac3ad5 to your computer and use it in GitHub Desktop.
Save steveroush/60d9a850a545ec4e02b0482c7bac3ad5 to your computer and use it in GitHub Desktop.
Graphviz Radial Layout Engine (shell archive)
#!/bin/sh
cat <<QUitquIT
# This is a shell archive.
#
# to execute this file, type: sh radialEngine_archive.sh
#
# On Linux/UNIX/MacOS(?) systems it is an executable program that will create
# a subdirectory (named radialEngine) in the currect directory and then
# install multiple (text) files in that directory.
# This shell archive and all contents are humanly readable - no binary files.
#
# Windows OS users will have to manually cut this file up and create any files
# that are desired. Sorry.
#
# To proceed, type "y" at the prompt.
#
QUitquIT
read -p "Type y to proceed " ans
if [ "$ans" != "y" ];then echo "exiting";exit;fi
if [ -d "radialEngine" ];then
if [ -w "radialEngine" ];then echo "directory radialEngine exists and is writable";
else echo "directory radialEngine exists but is NOT writable\nExiting"; exit; fi
else
mkdir "radialEngine" ;
if [ -d "radialEngine" ];then
if [ -w "radialEngine" ];then echo "directory radialEngine has been created and is writable";
else echo "directory radialEngine has been created but is NOT writable\nExiting"; exit;
fi
fi
fi
echo writing radialEngine/README
cat >radialEngine/README <<'STopstOP'
RadialLayout - a radial layout engine for Graphviz
radialLayout.gvpr takes a super-subset of Graphviz input and creates an enhanced output
with explicit positioning for all nodes. Positioning for each node is based on
new angle & distance attributes. This output can be fed into `neato -n`
(see https://graphviz.org/faq/#FaqDotWithNodeCoords) to route all defined edges.
New node attributes:
- radialangle - angle from the origin line units: radians, degrees, or "fraction" (3/17) (divide 360 into 17 slices, and position at 3rd). By default, angles are in counter-clockwise direction and are degrees.
- radialdistance distance from 0,0 in direction/angle specified by radialangle units: inches or points (in or pt). No unit defaults to inches. (e.g. 72pt == 1in == 1)
New graph attributes:
- radialclockwise used to request clockwise angle measurements (default is counterclockwise). Values: true or false, false is default
- radialstart set origin line, where default origin line is a line heading from the center of the graph to the right or (a line from 0,0 toward 999999,0) or (a line going due East). Legal values: (clock points) 1oc, 2oc, ..., 12oc and (compass points) n, s, e, w, ne, ne, se, sw
Of note:
All nodes must have both radialangle & radialdistance values
clusters do not (easily) work - a neato issue
there is a gvpr problem setting label="" (no label). Set a node or edge label to "" like this: `{node [label=""] X Y Z}`
gvpr is documented here: https://graphviz.org/pdf/gvpr.1.pdf
neato -n is documented here: https://graphviz.org/pdf/gvpr.1.pdf
Only lightly tested!!
How to use:
`gvpr -c -f radialLayout.gvpr myfile.gv | neato -n -Tpng >myfile.png`
Which Graphviz attributes do not apply?
- attributes that only apply to a subset of the Graphviz engines (e.g. neato only)
- attributes that affect positioning (e.g. rank, nodesep, weight)
- attribute applicability (early guess):
- _background - yes
- Damping - no
- URL - yes
- area - yes
- arrowhead - yes
- arrowsize - yes
- arrowtail - yes
- bgcolor - yes
- center - yes
- charset - yes
- class - yes
- clusterrank - no
- color - yes
- colorscheme - yes
- comment - yes
- compound - yes
- concentrate - yes
- constraint - no
- defaultdist - yes
- decorate - yes
- dim - yes
- dimen - yes
- dir - yes
- diredgeconstraints - yes
- distortion - yes
- dpi - yes
- edgeURL - yes
- edgehref - yes
- edgetarget - yes
- edgetooltip - yes
- epsilon - no
- esep - no
- fillcolor - yes
- fixedsize - yes
- fontcolor - yes
- fontnames - yes
- fontname - yes
- fontpath - yes
- fontsize - yes
- forcelabels - yes
- gradientangle - yes
- group - no
- headURL - yes
- headclip - yes
- headhref - yes
- headlabel - yes
- headport - yes
- headtarget - yes
- headtooltip - yes
- height - yes
- href - yes
- id - yes
- image - yes
- imagepath - yes
- imagepos - yes
- imagescale - yes
- inputscale - yes
- K - no
- label - yes
- labelURL - yes
- labelangle - yes
- labeldistance - yes
- labelfloat - yes
- labelfontcolor - yes
- labelfontname - yes
- labelfontsize - yes
- labelhref - yes
- labeljust - yes
- labelloc - yes
- labeltarget - yes
- labeltooltip - yes
- label_scheme - yes
- landscape - yes
- layer - yes
- layers - yes
- layerlistsep - yes
- layerselect - yes
- layersep - yes
- layout - must be neato
- len - no
- levels - no
- levelsgap - no
- lhead - yes
- ltail - yes
- margin - yes
- maxiter - no
- mclimit - no
- mindist - no
- minlen - no
- mode - no
- model - no
- mosek - no
- newrank - no
- nodesep - no
- nojustify - yes
- normalize - no
- notranslate - yes
- ordering - no
- orientation - yes
- outputorder - yes
- overlap - no
- overlap_scaling - no
- overlap_shrink - no
- pack - no
- packmode - no
- pad - no
- pagedir - yes
- pencolor - yes
- penwidth - yes
- peripheries - yes
- pin - no
- quadtree - no
- quantum - no
- rank - no
- rankdir - no
- ranksep - no
- regular - yes
- remincross - no
- repulsiveforce - no
- resolution - yes
- root - no
- rotate - yes
- rotation - no
- samehead - yes
- sametail - yes
- samplepoints - yes
- searchsize - no
- sep - yes
- shape - yes
- shapefile - yes
- showboxes - yes
- sides - yes
- skew - yes
- smoothing - yes
- sortv - no
- start - no
- style - yes
- stylesheet - yes
- tailURL - yes
- tailclip - yes
- tailhref - yes
- taillabel - yes
- tailport - yes
- tailtarget - yes
- tailtooltip - yes
- target - yes
- tooltip - yes
- truecolor - yes
- xdotversion - yes
- viewport - yes
- voro_margin - no
- weight - yno
- width - yes
- xlabel - yes
- z - yes
STopstOP
echo writing radialEngine/radialError1.gv
cat >radialEngine/radialError1.gv <<'STopstOP'
graph radialTest11 {
// two errors
graph [radialclockwise="xxxtrue" radialstart="0oc"]
label="Radial Errors"
b1 [radialdistance="-3" radialangle="-60"]
b2 [radialdistance="-3in" radialangle="a/9" ]
b3 [radialdistance="-93pt" radialangle="3/p"]
}
STopstOP
echo writing radialEngine/radialError2.gv
cat >radialEngine/radialError2.gv <<'STopstOP'
graph radialTest11 {
// two errors
graph [XXradialclockwise="true" XXradialstart="0oc"]
label="Radial Errors"
b1 [XXradialdistance="-3" XXradialangle="-60"]
b2 [XXradialdistance="-3in" radialangle="0/9" ]
b3 [radialdistance="-93pt" XXradialangle="3/p"]
b4 [radialdistance="-273pt" radialangle="3xx"]
b5 [radialdistance="pt" radialangle="-5rad"]
b6 [radialdistance="-93point" radialangle="true"]
b7 [radialdistance="t" radialangle="777deg"]
b8 [radialdistance="" radialangle=""]
b9 [radialdistance="" radialangle="rad"]
b20 [radialdistance="1.99" radialangle="n"]
b21 [radialdistance="1.99" radialangle="s"]
b22 [radialdistance="1.99" radialangle="e"]
b23 [radialdistance="1.99" radialangle="w"]
b24 [radialdistance="1.99" radialangle="nw"]
b25 [radialdistance="1.99" radialangle="ne"]
b26 [radialdistance="1.99" radialangle="sw"]
b27 [radialdistance="1.99" radialangle="se"]
b28 [radialdistance="1.99" radialangle="0oc"]
b29 [radialdistance="1.99" radialangle="1oc"]
b30 [radialdistance="1.99" radialangle="2oc"]
b31 [radialdistance="1.99" radialangle="3oc"]
b32 [radialdistance="1.99" radialangle="4oc"]
b33 [radialdistance="1.99" radialangle="5oc"]
b34 [radialdistance="1.99" radialangle="14oc"]
b35 [radialdistance="1.99" radialangle="13oc"]
b36 [radialdistance="1.99" radialangle="12oc"]
b37 [radialdistance="1.99" radialangle="11oc"]
b38 [radialdistance="1.99" radialangle="10oc"]
b39 [radialdistance="1.99" radialangle="9oc"]
b40 [radialdistance="1.99" radialangle="8oc"]
b41 [radialdistance="1.99" radialangle="7oc"]
b42 [radialdistance="1.99" radialangle="6oc"]
}
STopstOP
echo writing radialEngine/radialError3.gv
cat >radialEngine/radialError3.gv <<'STopstOP'
graph radialTest11 {
// two errors
graph [radialclockwise="false" XXradialstart="0oc"]
label="Radial Errors"
b1 [XXradialdistance="-3" XXradialangle="-60"]
b2 [XXradialdistance="-3in" radialangle="0/9" ]
b2a [XXradialdistance="-3in" radialangle="2/9" ]
b2b [XXradialdistance="-3in" radialangle="9/9" ]
b2c [XXradialdistance="-3in" radialangle="10/9" ]
b2d [XXradialdistance="-3in" radialangle="-1/9" ]
b2e [XXradialdistance="-3in" radialangle="1/00" ]
b3 [radialdistance="-93pt" XXradialangle="3/p"]
b4 [radialdistance="-0293pt" radialangle="3xx"]
b5 [radialdistance="pt" radialangle="-5rad"]
b6 [radialdistance="-93point" radialangle="true"]
b7 [radialdistance="t" radialangle="777deg"]
b8 [radialdistance="" radialangle=""]
b9 [radialdistance="" radialangle="123r"]
b10 [radialdistance="" radialangle="0ra"]
b11[radialdistance="" radialangle="123rad"]
b12[radialdistance="" radialangle="1234radi"]
b13[radialdistance="" radialangle="-99rads"]
b14[radialdistance="" radialangle="0.0radians"]
b15[radialdistance="" radialangle="44radadiansxxx"]
b16[radialdistance="" radialangle="45xxrad"]
b20 [radialdistance="-3" radialangle="n"]
b21 [radialdistance="-3" radialangle="s"]
b22 [radialdistance="-3" radialangle="e"]
b23 [radialdistance="-3" radialangle="w"]
b24 [radialdistance="-3" radialangle="nw"]
b25 [radialdistance="-3" radialangle="ne"]
b26 [radialdistance="-3" radialangle="sw"]
b27 [radialdistance="-3" radialangle="se"]
b28 [radialdistance="-3" radialangle="0oc"]
b29 [radialdistance="-3" radialangle="1oc"]
b30 [radialdistance="-3" radialangle="2oc"]
b31 [radialdistance="-3" radialangle="3oc"]
b32 [radialdistance="-3" radialangle="4oc"]
b33 [radialdistance="-3" radialangle="5oc"]
b34 [radialdistance="-3" radialangle="14oc"]
b35 [radialdistance="-3" radialangle="13oc"]
b36 [radialdistance="-3" radialangle="12oc"]
b37 [radialdistance="-3" radialangle="11oc"]
b38 [radialdistance="-3" radialangle="10oc"]
b39 [radialdistance="-3" radialangle="9oc"]
b40 [radialdistance="-3" radialangle="8oc"]
b41 [radialdistance="-3" radialangle="7oc"]
b42 [radialdistance="-3" radialangle="6oc"]
}
STopstOP
echo writing radialEngine/radialError4.gv
cat >radialEngine/radialError4.gv <<'STopstOP'
graph radialTest11 {
// two errors
graph [radialclockwise="67" radialstart="-7oc"]
label="Radial Errors"
b1 [XXradialdistance="-3" XXradialangle="-60"]
b2 [XXradialdistance="-3in" radialangle="0/9" ]
b2a [XXradialdistance="-3in" radialangle="2/9" ]
b2b [XXradialdistance="-3in" radialangle="9/9" ]
b2c [XXradialdistance="-..3in" radialangle="10/9" ]
b2d [XXradialdistance="-.003in" radialangle="-1/9" ]
b2e [XXradialdistance="-3in" radialangle="1/00" ]
b3 [radialdistance="-93pt" XXradialangle="3/p"]
b4 [radialdistance="-293pt" radialangle="3xx"]
b5 [radialdistance="pt" radialangle="-5rad"]
b6 [radialdistance="-93point" radialangle="true"]
b7 [radialdistance="t" radialangle="777deg"]
b8 [radialdistance="2p" radialangle=""]
b9 [radialdistance="-4pts" radialangle="123r"]
b10 [radialdistance="3pts" radialangle="0ra"]
b11[radialdistance="00073pts" radialangle="123rad"]
b12[radialdistance="-222poi" radialangle="1234radi"]
b13[radialdistance="-7i" radialangle="-99rads"]
b14[radialdistance="-4inch" radialangle="0.0radians"]
b15[radialdistance="0inches" radialangle="44radadiansxxx"]
b16[radialdistance="0in" radialangle="45xxrad"]
b20 [radialdistance="60pt" radialangle="n"]
b21 [radialdistance="60pt" radialangle="s"]
b22 [radialdistance="60pt" radialangle="e"]
b23 [radialdistance="60pt" radialangle="w"]
b24 [radialdistance="60pt" radialangle="nw"]
b25 [radialdistance="60pt" radialangle="ne"]
b26 [radialdistance="60pt" radialangle="sw"]
b27 [radialdistance="60pt" radialangle="se"]
b28 [radialdistance="60pt" radialangle="0oc"]
b29 [radialdistance="60pt" radialangle="1oc"]
b30 [radialdistance="60pt" radialangle="2oc"]
b31 [radialdistance="60pt" radialangle="3oc"]
b32 [radialdistance="60pt" radialangle="4oc"]
b33 [radialdistance="60pt" radialangle="5oc"]
b34 [radialdistance="60pt" radialangle="14oc"]
b35 [radialdistance="60pt" radialangle="13oc"]
b36 [radialdistance="60pt" radialangle="12oc"]
b37 [radialdistance="60pt" radialangle="11oc"]
b38 [radialdistance="60pt" radialangle="10oc"]
b39 [radialdistance="60pt" radialangle="9oc"]
b40 [radialdistance="60pt" radialangle="8oc"]
b41 [radialdistance="6i" radialangle="7oc"]
b42 [radialdistance="60p" radialangle="6oc"]
}
STopstOP
echo writing radialEngine/radialError5.gv
cat >radialEngine/radialError5.gv <<'STopstOP'
graph radialTest11 {
// one errors
graph [radialclockwise="1" radialstart="-7/0"]
label="More Radial Errors"
b1 [radialdistance="-3" radialangle="-60"]
b2 [radialdistance="-3in" radialangle="0/9" ]
b2a [radialdistance="-3in" radialangle="2/9" ]
b2b [radialdistance="-.3in" radialangle="9/9" ]
b2c [radialdistance="-3in" radialangle="10/9" ]
b2d [radialdistance="-3i" radialangle="-1/9" ]
b2e [radialdistance="-.3inc" radialangle="1/00" ]
b3 [radialdistance="-93pt" radialangle="3/p"]
b4 [radialdistance="-..993pt" radialangle="3xx"]
b5 [radialdistance="pt" radialangle="-5rad"]
b6 [radialdistance="-93point" radialangle="true"]
b7 [radialdistance="t" radialangle="777deg"]
b8 [radialdistance="2p" radialangle="r"]
b9 [radialdistance="-4pts" radialangle="123r"]
b10 [radialdistance="3pts" radialangle="0ra"]
b11[radialdistance="234pts" radialangle="123rad"]
b12[radialdistance="-222poi" radialangle="1234radi"]
b13[radialdistance="-7i" radialangle="-99rads"]
b14[radialdistance="-4inch" radialangle="0.0radians"]
b15[radialdistance="0inches" radialangle="44radadiansxxx"]
b16[radialdistance="0in" radialangle="45xxrad"]
b20 [radialdistance="4" radialangle="1n"]
b21 [radialdistance="4" radialangle="2s"]
b22 [radialdistance="4" radialangle="-6e"]
b23 [radialdistance="4" radialangle="w"]
b24 [radialdistance="4" radialangle="nw"]
b25 [radialdistance="4" radialangle="ne"]
b26 [radialdistance="4" radialangle="sw"]
b27 [radialdistance="4" radialangle="se"]
b28 [radialdistance="4" radialangle="0oc"]
b29 [radialdistance="4" radialangle="1oc"]
b30 [radialdistance="4" radialangle="2oc"]
b31 [radialdistance="4" radialangle="3oc"]
b32 [radialdistance="4" radialangle="4oc"]
b33 [radialdistance="4" radialangle="5oc"]
b34 [radialdistance="4" radialangle="14oc"]
b35 [radialdistance="4" radialangle="-13oc"]
b36 [radialdistance="4" radialangle="12oc"]
b37 [radialdistance="4" radialangle="11oc"]
b38 [radialdistance="4" radialangle="10oc"]
b39 [radialdistance="4" radialangle="9oc"]
b40 [radialdistance="4" radialangle="8oc"]
b41 [radialdistance="4" radialangle="7oc"]
b42 [radialdistance="4" radialangle="6oc"]
}
STopstOP
echo writing radialEngine/radialLayout.gvpr
cat >radialEngine/radialLayout.gvpr <<'STopstOP'
// NOTE: this program uses the "+" operator to concatenate strings. This is undocumented!!
/********************************************************************************
RadialLayout - a radial layout engine for Graphviz
radialLayout.gvpr takes a super-subset of Graphviz input and creates an enhanced output with explicit positioning for all nodes. Positioning for each node is based on new angle & distance attributes. This output can be fed into `neato -n` (see https://graphviz.org/faq/#FaqDotWithNodeCoords) to route all defined edges.
New node attributes:
- radialangle - angle from the origin line units: radians, degrees, or "fraction" (3/17) (divide 360 into 17 slices, and position at 3rd). By default, angles are in counter-clockwise direction and are degrees.
- radialdistance distance from 0,0 in direction/angle specified by radialangle units: inches or points (in or pt). No unit defaults to inches. (e.g. 72pt == 1in == 1)
New graph attributes:
- radialclockwise used to request clockwise angle measurements (default is counterclockwise). Values: true or false, false is default
- radialstart set origin line, where default origin line is a line heading from the center of the graph to the right or (a line from 0,0 toward 999999,0) or (a line going due East). Legal values: (clock points) 1oc, 2oc, ..., 12oc and (compass points) n, s, e, w, ne, ne, se, sw
Of note:
All nodes must have both radialangle & radialdistance values
clusters do not (easily) work - a neato issue
there is a gvpr problem setting label="" (no label). Set a node or edge label to "" like this: `{node [label=""] X Y Z}`
gvpr is documented here: https://graphviz.org/pdf/gvpr.1.pdf
neato -n is documented here: https://graphviz.org/pdf/gvpr.1.pdf
Only lightly tested!!
How to use:
`gvpr -c -f radialLayout.gvpr myfile.gv | neato -n -Tpng >myfile.png`
Which Graphviz attributes do not apply?
- attributes that only apply to a subset of the Graphviz engines (e.g. neato only)
- attributes that affect positioning (e.g. rank, nodesep, weight)
- attribute applicability (early guess):
- _background - yes
- Damping - no
- URL - yes
- area - yes
- arrowhead - yes
- arrowsize - yes
- arrowtail - yes
- bgcolor - yes
- center - yes
- charset - yes
- class - yes
- clusterrank - no
- color - yes
- colorscheme - yes
- comment - yes
- compound - yes
- concentrate - yes
- constraint - no
- defaultdist - yes
- decorate - yes
- dim - yes
- dimen - yes
- dir - yes
- diredgeconstraints - yes
- distortion - yes
- dpi - yes
- edgeURL - yes
- edgehref - yes
- edgetarget - yes
- edgetooltip - yes
- epsilon - no
- esep - no
- fillcolor - yes
- fixedsize - yes
- fontcolor - yes
- fontnames - yes
- fontname - yes
- fontpath - yes
- fontsize - yes
- forcelabels - yes
- gradientangle - yes
- group - no
- headURL - yes
- headclip - yes
- headhref - yes
- headlabel - yes
- headport - yes
- headtarget - yes
- headtooltip - yes
- height - yes
- href - yes
- id - yes
- image - yes
- imagepath - yes
- imagepos - yes
- imagescale - yes
- inputscale - yes
- K - no
- label - yes
- labelURL - yes
- labelangle - yes
- labeldistance - yes
- labelfloat - yes
- labelfontcolor - yes
- labelfontname - yes
- labelfontsize - yes
- labelhref - yes
- labeljust - yes
- labelloc - yes
- labeltarget - yes
- labeltooltip - yes
- label_scheme - yes
- landscape - yes
- layer - yes
- layers - yes
- layerlistsep - yes
- layerselect - yes
- layersep - yes
- layout - must be neato
- len - no
- levels - no
- levelsgap - no
- lhead - yes
- ltail - yes
- margin - yes
- maxiter - no
- mclimit - no
- mindist - no
- minlen - no
- mode - no
- model - no
- mosek - no
- newrank - no
- nodesep - no
- nojustify - yes
- normalize - no
- notranslate - yes
- ordering - no
- orientation - yes
- outputorder - yes
- overlap - no
- overlap_scaling - no
- overlap_shrink - no
- pack - no
- packmode - no
- pad - no
- pagedir - yes
- pencolor - yes
- penwidth - yes
- peripheries - yes
- pin - no
- quadtree - no
- quantum - no
- rank - no
- rankdir - no
- ranksep - no
- regular - yes
- remincross - no
- repulsiveforce - no
- resolution - yes
- root - no
- rotate - yes
- rotation - no
- samehead - yes
- sametail - yes
- samplepoints - yes
- searchsize - no
- sep - yes
- shape - yes
- shapefile - yes
- showboxes - yes
- sides - yes
- skew - yes
- smoothing - yes
- sortv - no
- start - no
- style - yes
- stylesheet - yes
- tailURL - yes
- tailclip - yes
- tailhref - yes
- taillabel - yes
- tailport - yes
- tailtarget - yes
- tailtooltip - yes
- target - yes
- tooltip - yes
- truecolor - yes
- xdotversion - yes
- viewport - yes
- voro_margin - no
- weight - yno
- width - yes
- xlabel - yes
- z - yes
********************************************************************/
BEGIN{
int clockwise, noLabel[];
float x,y, start;
float theta, D, pi=3.14159265;
float deg2rad=3.14159/180.;
string numstr="?([+-])@(+([0-9])?(.*([0-9]))|\.+([0-9]))";
string wrkStr, thetaS, errStr;
node_t aNode;
graph_t theRoot;
////////////////////////////////////////////////////////////////////////////
// do NOT call with direct output from sprintf
// - there is a bug - string will be empty
void doErrs(string eString){
printf(2, "(%s) Error: %s\n", $F, eString);
}
/////////////////////////////////////////////////////////////////////////
// NOTE: returns string "" if invalid input (yuck)
/////////////////////////////////////////////////////////////////////////
string computeAngle(string Astr){
int Alen, Aerr;
float Afloat;
string Awrk, Atok[int], ASrslt;
Aerr=0;
Awrk=Astr;
// Alen=length(Astr)-1;
switch(Astr){
case "n":
case "12oc":
Afloat=90*deg2rad;
break;
case "1oc":
Afloat=60*deg2rad;
break;
case "ne":
Afloat=45*deg2rad;
break;
case "2oc":
Afloat=30*deg2rad;
break;
case "e":
case "3oc":
Afloat=0;
break;
case "4oc":
Afloat=330*deg2rad;
break;
case "se":
Afloat=-45*deg2rad;
break;
case "5oc":
Afloat=300*deg2rad;
break;
case "s":
case "6oc":
Afloat=270*deg2rad;
break;
case "7oc":
Afloat=240*deg2rad;
break;
case "sw":
Afloat=-105*deg2rad;
break;
case "8oc":
Afloat=210*deg2rad;
break;
case "w":
case "9oc":
Afloat=180*deg2rad;
break;
case "10oc":
Afloat=150*deg2rad;
break;
case "nw":
Afloat=-45*deg2rad;
break;
case "11oc":
Afloat=120*deg2rad;
break;
default:
if (Astr=="*(?)@(r|rad|rads|radians)"){
//print("// RADIANs: ", Astr);
Alen=index(Astr,"r");
//print("// Alen: ", Alen);
Awrk=substr(Astr,0,Alen);
//print("// radians work: ", Awrk);
if (Awrk==numstr)
Afloat=(float)Awrk;
else{
Aerr=1;
}
}else if (Astr=="*(?)@(d|deg|degrees)"){
//print("// DEGREES: ", Astr);
Alen=index(Astr,"d");
Awrk=substr(Astr,0,Alen);
if (Awrk==numstr)
Afloat=((float)Awrk)*deg2rad;
else{
Aerr=1;
}
}else if (Astr==numstr + "([/])" + numstr){
//print("// Nth: ", Astr);
split(Astr,Atok,"/");
if ((int)Atok[1]<=0){
Aerr=1;
Afloat=0;
print("// error bad denominator: ", Astr);
}else{
Afloat=2*pi*((float)Atok[0]/(float)Atok[1]);
}
}else if (Astr==numstr){
//print("// default (degrees): ", Astr);
Afloat=(float)Astr*deg2rad;
}else{
Aerr=1;
break;
}
}
if (Aerr==1){
print ("// error !!");
ASrslt="";
}else{
ASrslt=(string)Afloat;
}
//print("// returning: >", Afloat, "<");
return ASrslt;
}
////////////////////////////////////////////////////////////////////////
float computeStartAngle(string Astr){
string a1;
a1=computeAngle(Astr);
if (a1==""){
errStr=sprintf("Invalid value for \"radialstart\" %s", theRoot.radialstart);
doErrs(errStr);
}else
return (float)a1;
}
/////////////////////////////////////////////////////////////////////////
float computeNodeAngle(string Astr, node_t Anode){
string a2;
a2=computeAngle(Astr);
if (a2==""){
errStr=sprintf("Node \"%s\" has bad radialangle attribute: %s", Anode.name, Astr);
doErrs(errStr);
// doErrs("Node \"" + Anode.name + "\" has bad radialangle attribute: "+Astr);
}else
return (float)a2;
}
////////////////////////////////////////////////////////////////////////////
// return points
float computeDistance(string Dstr, node_t Dnode){
int Dlen;
float Drslt;
string Dwrk, Dtok[int];
//print("// RAW DISTANCE: ", Dstr);
Dwrk=Dstr;
Dlen=length(Dstr)-1;
if (Dstr=="*(?)@(in|inch|inches)"){
//print("// INCHES ", Dstr);
Dlen=index(Dstr,"i");
Dwrk=substr(Dstr,0,Dlen);
//print("// work: ", Dwrk);
if (Dwrk==numstr)
Drslt=72.*(float)Dwrk; // return points
else{
errStr=sprintf("Node \"%s\" has bad radialdistance attribute: %s", Dnode.name, Dstr);
doErrs(errStr);
// doErrs("Node \"" + Dnode.name + "\" has bad radialdistance attribute: "+Dstr);
Drslt=0;
}
}else if (Dstr=="*(?)@(pt|point|points)"){
//print("// POINTS: ", Dstr);
Dlen=index(Dstr,"p");
Dwrk=substr(Dstr,0,Dlen);
if (Dwrk==numstr)
Drslt=((float)Dwrk);
else{
errStr=sprintf("Node \"%s\" has bad radialdistance attribute: %s", Dnode.name, Dstr);
doErrs(errStr);
//doErrs("Node \"" + Dnode.name + "\" has bad radialdistance attribute: "+Dstr);
Drslt=0;
}
}else if (Dstr==numstr){
//print("// default (inches): ", Dstr);
Drslt=72.*(float)Dstr;
}else {
errStr=sprintf("Node \"%s\" has bad radialdistance attribute: %s", Dnode.name, Dstr);
doErrs(errStr);
//doErrs("Node \"" + Dnode.name + "\" has bad radialdistance attribute: "+Dstr);
Drslt=0;
}
//print("// DISTANCE: returning: ", Drslt);
return Drslt;
}
} // end BEGIN
////////////////////////////////////////////////////////////////////////////
BEG_G{
theRoot=$G;
$G.bb=""; // maybe we should compute new value
clockwise=0;
// first, determine direction /////////////////////////////////////////
if (hasAttr($, "radialclockwise"))
if ($.radialclockwise=="@(1|yes|true)")
clockwise=1;
else if ($.radialclockwise=="@(0|no|false)")
clockwise=0;
else{
errStr=sprintf("Invalid value for \"radialclockwise\" %s", $.radialclockwise);
doErrs(errStr);
//doErrs("Invalid value for \"radialclockwise\" " + $.radialclockwise);
}
// next, determine starting angle /////////////////////////////////////////
start=0;
if (hasAttr($, "radialstart")){
wrkStr=$.radialstart;
start=computeStartAngle(wrkStr);
}
}
////////////////////////////////////////////////////////////////////////////////
N{
//print("// NODE: ", $.name);
if (hasAttr($, "label") && $.label==""){
print("// EMPTY label: ", $.name);
noLabel[$]=1;
}
if (isAttr($G, "N", "label") && $.label==""){
print("// isAttr - EMPTY label: ", $.name);
noLabel[$]=1;
}
$.pin="true"; // needed??? (maybe later processing??)
if (hasAttr($, "radialangle") && $.radialangle!=""){
theta=computeNodeAngle($.radialangle, $);
} else {
errStr=sprintf("Node \"%s\" is missing radialangle attribute", $.name);
doErrs(errStr);
//doErrs("Node \"" + $.name + "\" is missing radialangle attribute" );
}
if (hasAttr($, "radialdistance") && $.radialdistance!=""){
D=computeDistance($.radialdistance, $);
} else {
errStr=sprintf("Node \"%s\" is missing radialdistance attribute", $.name);
doErrs(errStr);
//doErrs("Node \"" + $.name + "\" is missing radialdistance attribute");
}
if (clockwise==1)
theta=-theta; // clockwise
x=0+(D*cos(theta+start));
y=0+(D*sin(theta+start));
$.pos=(string)x + "," + (string)y;
//$.label=$.angle + " + " + $.distance;
}
////////////////////////////////////////////////////////////////////////////
STopstOP
echo writing radialEngine/radialTest1.gv
cat >radialEngine/radialTest1.gv <<'STopstOP'
graph radialTest1 {
graph [radialclockwise="true" radialstart="12oc"]
label="my cool\nRadial Graph"
Center[radialdistance=0 radialangle=0 label="''" style=filled fillcolor=red shape=circle fixedsize=true width=.15 height=.15]
node[shape=point]
b1 [radialdistance="3" radialangle="1/8"]
b2 [radialdistance="3" radialangle="2/8" ]
b3 [radialdistance="3" radialangle="3/8"]
b4 [radialdistance="1.8" radialangle="4/8"]
b5 [radialdistance="3" radialangle="5/8"]
b6 [radialdistance="3.7" radialangle="6/8"]
b7 [radialdistance="3" radialangle="7/8"]
b8 [radialdistance="3" radialangle="8/8"]
node [shape=plaintext]
LBL1 [radialdistance="4" radialangle="1/8"]
LBL2 [radialdistance="4" radialangle="2/8"]
LBL3 [radialdistance="4" radialangle="3/8"]
LBL4 [radialdistance="4" radialangle="4/8"]
LBL5 [radialdistance="4" radialangle="5/8"]
LBL6 [radialdistance="4" radialangle="6/8"]
LBL7 [radialdistance="4" radialangle="7/8"]
LBL8 [radialdistance="4" radialangle="8/8"]
Center -- b1 [style=dashed]
Center -- b2 [style=dashed]
Center -- b3 [style=dotted color=green]
Center -- b4 [style=dashed]
Center -- b5 [color=blue]
Center -- b6
Center -- b7
Center -- b8
}
STopstOP
echo writing radialEngine/radialTest101.gv
cat >radialEngine/radialTest101.gv <<'STopstOP'
// wrote this with gawk script
graph RR{
label="Graphviz - New Radial Engine Tricks (101)"
node [shape=point colorscheme=set312]
edge [colorscheme=set312]
"n_0.9.0" [radialdistance=0.9 radialangle=213 color=1]
"n_0.9.2" [radialdistance=0.9 radialangle=215 color=1]
"n_0.9.4" [radialdistance=0.9 radialangle=217 color=1]
"n_0.9.6" [radialdistance=0.9 radialangle=219 color=1]
"n_0.9.8" [radialdistance=0.9 radialangle=221 color=1]
"n_0.9.10" [radialdistance=0.9 radialangle=223 color=1]
"n_0.9.12" [radialdistance=0.9 radialangle=225 color=1]
"n_0.9.14" [radialdistance=0.9 radialangle=227 color=1]
"n_0.9.16" [radialdistance=0.9 radialangle=229 color=1]
"n_0.9.18" [radialdistance=0.9 radialangle=231 color=1]
"n_0.9.20" [radialdistance=0.9 radialangle=233 color=1]
"n_0.9.22" [radialdistance=0.9 radialangle=235 color=1]
"n_0.9.24" [radialdistance=0.9 radialangle=237 color=1]
"n_0.9.26" [radialdistance=0.9 radialangle=239 color=1]
"n_0.9.28" [radialdistance=0.9 radialangle=241 color=1]
"n_0.9.30" [radialdistance=0.9 radialangle=243 color=1]
"n_0.9.32" [radialdistance=0.9 radialangle=245 color=1]
"n_0.9.34" [radialdistance=0.9 radialangle=247 color=1]
"n_0.9.36" [radialdistance=0.9 radialangle=249 color=1]
"n_0.9.38" [radialdistance=0.9 radialangle=251 color=1]
"n_0.9.40" [radialdistance=0.9 radialangle=253 color=1]
"n_0.9.42" [radialdistance=0.9 radialangle=255 color=1]
"n_0.9.44" [radialdistance=0.9 radialangle=257 color=1]
"n_0.9.46" [radialdistance=0.9 radialangle=259 color=1]
"n_0.9.48" [radialdistance=0.9 radialangle=261 color=1]
"n_0.9.50" [radialdistance=0.9 radialangle=263 color=1]
"n_0.9.52" [radialdistance=0.9 radialangle=265 color=1]
"n_0.9.54" [radialdistance=0.9 radialangle=267 color=1]
"n_0.9.56" [radialdistance=0.9 radialangle=269 color=1]
"n_0.9.58" [radialdistance=0.9 radialangle=271 color=1]
"n_0.9.60" [radialdistance=0.9 radialangle=273 color=1]
"n_0.9.62" [radialdistance=0.9 radialangle=275 color=1]
"n_0.9.64" [radialdistance=0.9 radialangle=277 color=1]
"n_0.9.66" [radialdistance=0.9 radialangle=279 color=1]
"n_0.9.68" [radialdistance=0.9 radialangle=281 color=1]
"n_0.9.70" [radialdistance=0.9 radialangle=283 color=1]
"n_0.9.72" [radialdistance=0.9 radialangle=285 color=1]
"n_0.9.74" [radialdistance=0.9 radialangle=287 color=1]
"n_0.9.76" [radialdistance=0.9 radialangle=289 color=1]
"n_0.9.78" [radialdistance=0.9 radialangle=291 color=1]
"n_0.9.80" [radialdistance=0.9 radialangle=293 color=1]
"n_0.9.82" [radialdistance=0.9 radialangle=295 color=1]
"n_0.9.84" [radialdistance=0.9 radialangle=297 color=1]
"n_0.9.86" [radialdistance=0.9 radialangle=299 color=1]
"n_0.9.88" [radialdistance=0.9 radialangle=301 color=1]
"n_0.9.90" [radialdistance=0.9 radialangle=303 color=1]
"n_0.9.92" [radialdistance=0.9 radialangle=305 color=1]
"n_0.9.94" [radialdistance=0.9 radialangle=307 color=1]
"n_0.9.96" [radialdistance=0.9 radialangle=309 color=1]
"n_0.9.98" [radialdistance=0.9 radialangle=311 color=1]
"n_0.9.100" [radialdistance=0.9 radialangle=313 color=1]
"n_0.9.102" [radialdistance=0.9 radialangle=315 color=1]
"n_0.9.104" [radialdistance=0.9 radialangle=317 color=1]
"n_0.9.106" [radialdistance=0.9 radialangle=319 color=1]
"n_0.9.108" [radialdistance=0.9 radialangle=321 color=1]
"n_0.9.110" [radialdistance=0.9 radialangle=323 color=1]
"n_0.9.112" [radialdistance=0.9 radialangle=325 color=1]
"n_0.9.114" [radialdistance=0.9 radialangle=327 color=1]
"n_0.9.116" [radialdistance=0.9 radialangle=329 color=1]
"n_0.9.118" [radialdistance=0.9 radialangle=331 color=1]
"n_0.9.120" [radialdistance=0.9 radialangle=333 color=1]
"n_0.9.122" [radialdistance=0.9 radialangle=335 color=1]
"n_0.9.124" [radialdistance=0.9 radialangle=337 color=1]
"n_0.9.126" [radialdistance=0.9 radialangle=339 color=1]
"n_0.9.128" [radialdistance=0.9 radialangle=341 color=1]
"n_0.9.130" [radialdistance=0.9 radialangle=343 color=1]
"n_0.9.132" [radialdistance=0.9 radialangle=345 color=1]
"n_0.9.134" [radialdistance=0.9 radialangle=347 color=1]
"n_0.9.136" [radialdistance=0.9 radialangle=349 color=1]
"n_0.9.138" [radialdistance=0.9 radialangle=351 color=1]
"n_0.9.140" [radialdistance=0.9 radialangle=353 color=1]
"n_0.9.142" [radialdistance=0.9 radialangle=355 color=1]
"n_0.9.144" [radialdistance=0.9 radialangle=357 color=1]
"n_0.9.146" [radialdistance=0.9 radialangle=359 color=1]
"n_0.9.148" [radialdistance=0.9 radialangle=361 color=1]
"n_0.9.150" [radialdistance=0.9 radialangle=363 color=1]
"n_0.9.152" [radialdistance=0.9 radialangle=365 color=1]
"n_0.9.154" [radialdistance=0.9 radialangle=367 color=1]
"n_0.9.156" [radialdistance=0.9 radialangle=369 color=1]
"n_0.9.158" [radialdistance=0.9 radialangle=371 color=1]
"n_0.9.160" [radialdistance=0.9 radialangle=373 color=1]
"n_0.9.162" [radialdistance=0.9 radialangle=375 color=1]
"n_0.9.164" [radialdistance=0.9 radialangle=377 color=1]
"n_0.9.166" [radialdistance=0.9 radialangle=379 color=1]
"n_0.9.168" [radialdistance=0.9 radialangle=381 color=1]
"n_0.9.170" [radialdistance=0.9 radialangle=383 color=1]
"n_0.9.172" [radialdistance=0.9 radialangle=385 color=1]
"n_0.9.174" [radialdistance=0.9 radialangle=387 color=1]
"n_0.9.176" [radialdistance=0.9 radialangle=389 color=1]
"n_0.9.178" [radialdistance=0.9 radialangle=391 color=1]
"n_0.9.180" [radialdistance=0.9 radialangle=393 color=1]
"n_0.9.182" [radialdistance=0.9 radialangle=395 color=1]
"n_0.9.184" [radialdistance=0.9 radialangle=397 color=1]
"n_0.9.186" [radialdistance=0.9 radialangle=399 color=1]
"n_0.9.188" [radialdistance=0.9 radialangle=401 color=1]
"n_0.9.190" [radialdistance=0.9 radialangle=403 color=1]
"n_0.9.192" [radialdistance=0.9 radialangle=405 color=1]
"n_0.9.194" [radialdistance=0.9 radialangle=407 color=1]
"n_0.9.196" [radialdistance=0.9 radialangle=409 color=1]
"n_0.9.198" [radialdistance=0.9 radialangle=411 color=1]
"n_0.9.200" [radialdistance=0.9 radialangle=413 color=1]
"n_0.9.202" [radialdistance=0.9 radialangle=415 color=1]
"n_0.9.204" [radialdistance=0.9 radialangle=417 color=1]
"n_0.9.206" [radialdistance=0.9 radialangle=419 color=1]
"n_0.9.208" [radialdistance=0.9 radialangle=421 color=1]
"n_0.9.210" [radialdistance=0.9 radialangle=423 color=1]
"n_0.9.212" [radialdistance=0.9 radialangle=425 color=1]
"n_0.9.214" [radialdistance=0.9 radialangle=427 color=1]
"n_0.9.216" [radialdistance=0.9 radialangle=429 color=1]
"n_0.9.218" [radialdistance=0.9 radialangle=431 color=1]
"n_0.9.220" [radialdistance=0.9 radialangle=433 color=1]
"n_0.9.222" [radialdistance=0.9 radialangle=435 color=1]
"n_0.9.224" [radialdistance=0.9 radialangle=437 color=1]
"n_0.9.226" [radialdistance=0.9 radialangle=439 color=1]
"n_0.9.228" [radialdistance=0.9 radialangle=441 color=1]
"n_0.9.230" [radialdistance=0.9 radialangle=443 color=1]
"n_0.9.232" [radialdistance=0.9 radialangle=445 color=1]
"n_0.9.234" [radialdistance=0.9 radialangle=447 color=1]
"n_0.9.236" [radialdistance=0.9 radialangle=449 color=1]
"n_0.9.238" [radialdistance=0.9 radialangle=451 color=1]
"n_0.9.240" [radialdistance=0.9 radialangle=453 color=1]
"n_0.9.242" [radialdistance=0.9 radialangle=455 color=1]
"n_0.9.244" [radialdistance=0.9 radialangle=457 color=1]
"n_0.9.246" [radialdistance=0.9 radialangle=459 color=1]
"n_0.9.248" [radialdistance=0.9 radialangle=461 color=1]
"n_0.9.250" [radialdistance=0.9 radialangle=463 color=1]
"n_0.9.252" [radialdistance=0.9 radialangle=465 color=1]
"n_0.9.254" [radialdistance=0.9 radialangle=467 color=1]
"n_0.9.256" [radialdistance=0.9 radialangle=469 color=1]
"n_0.9.258" [radialdistance=0.9 radialangle=471 color=1]
"n_0.9.260" [radialdistance=0.9 radialangle=473 color=1]
"n_0.9.262" [radialdistance=0.9 radialangle=475 color=1]
"n_0.9.264" [radialdistance=0.9 radialangle=477 color=1]
"n_0.9.266" [radialdistance=0.9 radialangle=479 color=1]
"n_0.9.268" [radialdistance=0.9 radialangle=481 color=1]
"n_0.9.270" [radialdistance=0.9 radialangle=483 color=1]
"n_0.9.272" [radialdistance=0.9 radialangle=485 color=1]
"n_0.9.274" [radialdistance=0.9 radialangle=487 color=1]
"n_0.9.276" [radialdistance=0.9 radialangle=489 color=1]
"n_0.9.278" [radialdistance=0.9 radialangle=491 color=1]
"n_0.9.280" [radialdistance=0.9 radialangle=493 color=1]
"n_0.9.282" [radialdistance=0.9 radialangle=495 color=1]
"n_0.9.284" [radialdistance=0.9 radialangle=497 color=1]
"n_0.9.286" [radialdistance=0.9 radialangle=499 color=1]
"n_0.9.288" [radialdistance=0.9 radialangle=501 color=1]
"n_0.9.290" [radialdistance=0.9 radialangle=503 color=1]
"n_0.9.292" [radialdistance=0.9 radialangle=505 color=1]
"n_0.9.294" [radialdistance=0.9 radialangle=507 color=1]
"n_0.9.296" [radialdistance=0.9 radialangle=509 color=1]
"n_0.9.298" [radialdistance=0.9 radialangle=511 color=1]
"n_0.9.300" [radialdistance=0.9 radialangle=513 color=1]
"n_0.9.302" [radialdistance=0.9 radialangle=515 color=1]
"n_0.9.304" [radialdistance=0.9 radialangle=517 color=1]
"n_0.9.306" [radialdistance=0.9 radialangle=519 color=1]
"n_0.9.308" [radialdistance=0.9 radialangle=521 color=1]
"n_0.9.310" [radialdistance=0.9 radialangle=523 color=1]
"n_0.9.312" [radialdistance=0.9 radialangle=525 color=1]
"n_0.9.314" [radialdistance=0.9 radialangle=527 color=1]
"n_0.9.316" [radialdistance=0.9 radialangle=529 color=1]
"n_0.9.318" [radialdistance=0.9 radialangle=531 color=1]
"n_0.9.320" [radialdistance=0.9 radialangle=533 color=1]
"n_0.9.322" [radialdistance=0.9 radialangle=535 color=1]
"n_0.9.324" [radialdistance=0.9 radialangle=537 color=1]
"n_0.9.326" [radialdistance=0.9 radialangle=539 color=1]
"n_0.9.328" [radialdistance=0.9 radialangle=541 color=1]
"n_0.9.330" [radialdistance=0.9 radialangle=543 color=1]
"n_0.9.332" [radialdistance=0.9 radialangle=545 color=1]
"n_1.2.0" [radialdistance=1.2 radialangle=208 color=2]
"n_1.2.2" [radialdistance=1.2 radialangle=210 color=2]
"n_1.2.4" [radialdistance=1.2 radialangle=212 color=2]
"n_1.2.6" [radialdistance=1.2 radialangle=214 color=2]
"n_1.2.8" [radialdistance=1.2 radialangle=216 color=2]
"n_1.2.10" [radialdistance=1.2 radialangle=218 color=2]
"n_1.2.12" [radialdistance=1.2 radialangle=220 color=2]
"n_1.2.14" [radialdistance=1.2 radialangle=222 color=2]
"n_1.2.16" [radialdistance=1.2 radialangle=224 color=2]
"n_1.2.18" [radialdistance=1.2 radialangle=226 color=2]
"n_1.2.20" [radialdistance=1.2 radialangle=228 color=2]
"n_1.2.22" [radialdistance=1.2 radialangle=230 color=2]
"n_1.2.24" [radialdistance=1.2 radialangle=232 color=2]
"n_1.2.26" [radialdistance=1.2 radialangle=234 color=2]
"n_1.2.28" [radialdistance=1.2 radialangle=236 color=2]
"n_1.2.30" [radialdistance=1.2 radialangle=238 color=2]
"n_1.2.32" [radialdistance=1.2 radialangle=240 color=2]
"n_1.2.34" [radialdistance=1.2 radialangle=242 color=2]
"n_1.2.36" [radialdistance=1.2 radialangle=244 color=2]
"n_1.2.38" [radialdistance=1.2 radialangle=246 color=2]
"n_1.2.40" [radialdistance=1.2 radialangle=248 color=2]
"n_1.2.42" [radialdistance=1.2 radialangle=250 color=2]
"n_1.2.44" [radialdistance=1.2 radialangle=252 color=2]
"n_1.2.46" [radialdistance=1.2 radialangle=254 color=2]
"n_1.2.48" [radialdistance=1.2 radialangle=256 color=2]
"n_1.2.50" [radialdistance=1.2 radialangle=258 color=2]
"n_1.2.52" [radialdistance=1.2 radialangle=260 color=2]
"n_1.2.54" [radialdistance=1.2 radialangle=262 color=2]
"n_1.2.56" [radialdistance=1.2 radialangle=264 color=2]
"n_1.2.58" [radialdistance=1.2 radialangle=266 color=2]
"n_1.2.60" [radialdistance=1.2 radialangle=268 color=2]
"n_1.2.62" [radialdistance=1.2 radialangle=270 color=2]
"n_1.2.64" [radialdistance=1.2 radialangle=272 color=2]
"n_1.2.66" [radialdistance=1.2 radialangle=274 color=2]
"n_1.2.68" [radialdistance=1.2 radialangle=276 color=2]
"n_1.2.70" [radialdistance=1.2 radialangle=278 color=2]
"n_1.2.72" [radialdistance=1.2 radialangle=280 color=2]
"n_1.2.74" [radialdistance=1.2 radialangle=282 color=2]
"n_1.2.76" [radialdistance=1.2 radialangle=284 color=2]
"n_1.2.78" [radialdistance=1.2 radialangle=286 color=2]
"n_1.2.80" [radialdistance=1.2 radialangle=288 color=2]
"n_1.2.82" [radialdistance=1.2 radialangle=290 color=2]
"n_1.2.84" [radialdistance=1.2 radialangle=292 color=2]
"n_1.2.86" [radialdistance=1.2 radialangle=294 color=2]
"n_1.2.88" [radialdistance=1.2 radialangle=296 color=2]
"n_1.2.90" [radialdistance=1.2 radialangle=298 color=2]
"n_1.2.92" [radialdistance=1.2 radialangle=300 color=2]
"n_1.2.94" [radialdistance=1.2 radialangle=302 color=2]
"n_1.2.96" [radialdistance=1.2 radialangle=304 color=2]
"n_1.2.98" [radialdistance=1.2 radialangle=306 color=2]
"n_1.2.100" [radialdistance=1.2 radialangle=308 color=2]
"n_1.2.102" [radialdistance=1.2 radialangle=310 color=2]
"n_1.2.104" [radialdistance=1.2 radialangle=312 color=2]
"n_1.2.106" [radialdistance=1.2 radialangle=314 color=2]
"n_1.2.108" [radialdistance=1.2 radialangle=316 color=2]
"n_1.2.110" [radialdistance=1.2 radialangle=318 color=2]
"n_1.5.0" [radialdistance=1.5 radialangle=283 color=3]
"n_1.5.2" [radialdistance=1.5 radialangle=285 color=3]
"n_1.5.4" [radialdistance=1.5 radialangle=287 color=3]
"n_1.5.6" [radialdistance=1.5 radialangle=289 color=3]
"n_1.5.8" [radialdistance=1.5 radialangle=291 color=3]
"n_1.5.10" [radialdistance=1.5 radialangle=293 color=3]
"n_1.5.12" [radialdistance=1.5 radialangle=295 color=3]
"n_1.5.14" [radialdistance=1.5 radialangle=297 color=3]
"n_1.5.16" [radialdistance=1.5 radialangle=299 color=3]
"n_1.5.18" [radialdistance=1.5 radialangle=301 color=3]
"n_1.5.20" [radialdistance=1.5 radialangle=303 color=3]
"n_1.5.22" [radialdistance=1.5 radialangle=305 color=3]
"n_1.5.24" [radialdistance=1.5 radialangle=307 color=3]
"n_1.5.26" [radialdistance=1.5 radialangle=309 color=3]
"n_1.5.28" [radialdistance=1.5 radialangle=311 color=3]
"n_1.5.30" [radialdistance=1.5 radialangle=313 color=3]
"n_1.5.32" [radialdistance=1.5 radialangle=315 color=3]
"n_1.5.34" [radialdistance=1.5 radialangle=317 color=3]
"n_1.5.36" [radialdistance=1.5 radialangle=319 color=3]
"n_1.5.38" [radialdistance=1.5 radialangle=321 color=3]
"n_1.5.40" [radialdistance=1.5 radialangle=323 color=3]
"n_1.5.42" [radialdistance=1.5 radialangle=325 color=3]
"n_1.5.44" [radialdistance=1.5 radialangle=327 color=3]
"n_1.5.46" [radialdistance=1.5 radialangle=329 color=3]
"n_1.5.48" [radialdistance=1.5 radialangle=331 color=3]
"n_1.5.50" [radialdistance=1.5 radialangle=333 color=3]
"n_1.5.52" [radialdistance=1.5 radialangle=335 color=3]
"n_1.5.54" [radialdistance=1.5 radialangle=337 color=3]
"n_1.5.56" [radialdistance=1.5 radialangle=339 color=3]
"n_1.5.58" [radialdistance=1.5 radialangle=341 color=3]
"n_1.5.60" [radialdistance=1.5 radialangle=343 color=3]
"n_1.5.62" [radialdistance=1.5 radialangle=345 color=3]
"n_1.5.64" [radialdistance=1.5 radialangle=347 color=3]
"n_1.5.66" [radialdistance=1.5 radialangle=349 color=3]
"n_1.5.68" [radialdistance=1.5 radialangle=351 color=3]
"n_1.5.70" [radialdistance=1.5 radialangle=353 color=3]
"n_1.5.72" [radialdistance=1.5 radialangle=355 color=3]
"n_1.5.74" [radialdistance=1.5 radialangle=357 color=3]
"n_1.5.76" [radialdistance=1.5 radialangle=359 color=3]
"n_1.5.78" [radialdistance=1.5 radialangle=361 color=3]
"n_1.5.80" [radialdistance=1.5 radialangle=363 color=3]
"n_1.5.82" [radialdistance=1.5 radialangle=365 color=3]
"n_1.5.84" [radialdistance=1.5 radialangle=367 color=3]
"n_1.5.86" [radialdistance=1.5 radialangle=369 color=3]
"n_1.5.88" [radialdistance=1.5 radialangle=371 color=3]
"n_1.5.90" [radialdistance=1.5 radialangle=373 color=3]
"n_1.5.92" [radialdistance=1.5 radialangle=375 color=3]
"n_1.5.94" [radialdistance=1.5 radialangle=377 color=3]
"n_1.5.96" [radialdistance=1.5 radialangle=379 color=3]
"n_1.5.98" [radialdistance=1.5 radialangle=381 color=3]
"n_1.5.100" [radialdistance=1.5 radialangle=383 color=3]
"n_1.5.102" [radialdistance=1.5 radialangle=385 color=3]
"n_1.5.104" [radialdistance=1.5 radialangle=387 color=3]
"n_1.5.106" [radialdistance=1.5 radialangle=389 color=3]
"n_1.5.108" [radialdistance=1.5 radialangle=391 color=3]
"n_1.5.110" [radialdistance=1.5 radialangle=393 color=3]
"n_1.5.112" [radialdistance=1.5 radialangle=395 color=3]
"n_1.5.114" [radialdistance=1.5 radialangle=397 color=3]
"n_1.5.116" [radialdistance=1.5 radialangle=399 color=3]
"n_1.5.118" [radialdistance=1.5 radialangle=401 color=3]
"n_1.5.120" [radialdistance=1.5 radialangle=403 color=3]
"n_1.5.122" [radialdistance=1.5 radialangle=405 color=3]
"n_1.5.124" [radialdistance=1.5 radialangle=407 color=3]
"n_1.5.126" [radialdistance=1.5 radialangle=409 color=3]
"n_1.5.128" [radialdistance=1.5 radialangle=411 color=3]
"n_1.5.130" [radialdistance=1.5 radialangle=413 color=3]
"n_1.5.132" [radialdistance=1.5 radialangle=415 color=3]
"n_1.5.134" [radialdistance=1.5 radialangle=417 color=3]
"n_1.5.136" [radialdistance=1.5 radialangle=419 color=3]
"n_1.5.138" [radialdistance=1.5 radialangle=421 color=3]
"n_1.5.140" [radialdistance=1.5 radialangle=423 color=3]
"n_1.5.142" [radialdistance=1.5 radialangle=425 color=3]
"n_1.5.144" [radialdistance=1.5 radialangle=427 color=3]
"n_1.5.146" [radialdistance=1.5 radialangle=429 color=3]
"n_1.5.148" [radialdistance=1.5 radialangle=431 color=3]
"n_1.5.150" [radialdistance=1.5 radialangle=433 color=3]
"n_1.5.152" [radialdistance=1.5 radialangle=435 color=3]
"n_1.5.154" [radialdistance=1.5 radialangle=437 color=3]
"n_1.5.156" [radialdistance=1.5 radialangle=439 color=3]
"n_1.5.158" [radialdistance=1.5 radialangle=441 color=3]
"n_1.5.160" [radialdistance=1.5 radialangle=443 color=3]
"n_1.5.162" [radialdistance=1.5 radialangle=445 color=3]
"n_1.5.164" [radialdistance=1.5 radialangle=447 color=3]
"n_1.5.166" [radialdistance=1.5 radialangle=449 color=3]
"n_1.5.168" [radialdistance=1.5 radialangle=451 color=3]
"n_1.5.170" [radialdistance=1.5 radialangle=453 color=3]
"n_1.5.172" [radialdistance=1.5 radialangle=455 color=3]
"n_1.5.174" [radialdistance=1.5 radialangle=457 color=3]
"n_1.5.176" [radialdistance=1.5 radialangle=459 color=3]
"n_1.5.178" [radialdistance=1.5 radialangle=461 color=3]
"n_1.5.180" [radialdistance=1.5 radialangle=463 color=3]
"n_1.5.182" [radialdistance=1.5 radialangle=465 color=3]
"n_1.5.184" [radialdistance=1.5 radialangle=467 color=3]
"n_1.5.186" [radialdistance=1.5 radialangle=469 color=3]
"n_1.5.188" [radialdistance=1.5 radialangle=471 color=3]
"n_1.5.190" [radialdistance=1.5 radialangle=473 color=3]
"n_1.5.192" [radialdistance=1.5 radialangle=475 color=3]
"n_1.5.194" [radialdistance=1.5 radialangle=477 color=3]
"n_1.5.196" [radialdistance=1.5 radialangle=479 color=3]
"n_1.5.198" [radialdistance=1.5 radialangle=481 color=3]
"n_1.5.200" [radialdistance=1.5 radialangle=483 color=3]
"n_1.5.202" [radialdistance=1.5 radialangle=485 color=3]
"n_1.5.204" [radialdistance=1.5 radialangle=487 color=3]
"n_1.5.206" [radialdistance=1.5 radialangle=489 color=3]
"n_1.5.208" [radialdistance=1.5 radialangle=491 color=3]
"n_1.5.210" [radialdistance=1.5 radialangle=493 color=3]
"n_1.5.212" [radialdistance=1.5 radialangle=495 color=3]
"n_1.5.214" [radialdistance=1.5 radialangle=497 color=3]
"n_1.5.216" [radialdistance=1.5 radialangle=499 color=3]
"n_1.5.218" [radialdistance=1.5 radialangle=501 color=3]
"n_1.5.220" [radialdistance=1.5 radialangle=503 color=3]
"n_1.5.222" [radialdistance=1.5 radialangle=505 color=3]
"n_1.5.224" [radialdistance=1.5 radialangle=507 color=3]
"n_1.5.226" [radialdistance=1.5 radialangle=509 color=3]
"n_1.5.228" [radialdistance=1.5 radialangle=511 color=3]
"n_1.5.230" [radialdistance=1.5 radialangle=513 color=3]
"n_1.5.232" [radialdistance=1.5 radialangle=515 color=3]
"n_1.5.234" [radialdistance=1.5 radialangle=517 color=3]
"n_1.5.236" [radialdistance=1.5 radialangle=519 color=3]
"n_1.5.238" [radialdistance=1.5 radialangle=521 color=3]
"n_1.5.240" [radialdistance=1.5 radialangle=523 color=3]
"n_1.5.242" [radialdistance=1.5 radialangle=525 color=3]
"n_1.5.244" [radialdistance=1.5 radialangle=527 color=3]
"n_1.5.246" [radialdistance=1.5 radialangle=529 color=3]
"n_1.5.248" [radialdistance=1.5 radialangle=531 color=3]
"n_1.5.250" [radialdistance=1.5 radialangle=533 color=3]
"n_1.5.252" [radialdistance=1.5 radialangle=535 color=3]
"n_1.5.254" [radialdistance=1.5 radialangle=537 color=3]
"n_1.5.256" [radialdistance=1.5 radialangle=539 color=3]
"n_1.5.258" [radialdistance=1.5 radialangle=541 color=3]
"n_1.5.260" [radialdistance=1.5 radialangle=543 color=3]
"n_1.5.262" [radialdistance=1.5 radialangle=545 color=3]
"n_1.5.264" [radialdistance=1.5 radialangle=547 color=3]
"n_1.5.266" [radialdistance=1.5 radialangle=549 color=3]
"n_1.8.0" [radialdistance=1.8 radialangle=119 color=4]
"n_1.8.2" [radialdistance=1.8 radialangle=121 color=4]
"n_1.8.4" [radialdistance=1.8 radialangle=123 color=4]
"n_1.8.6" [radialdistance=1.8 radialangle=125 color=4]
"n_1.8.8" [radialdistance=1.8 radialangle=127 color=4]
"n_1.8.10" [radialdistance=1.8 radialangle=129 color=4]
"n_1.8.12" [radialdistance=1.8 radialangle=131 color=4]
"n_1.8.14" [radialdistance=1.8 radialangle=133 color=4]
"n_1.8.16" [radialdistance=1.8 radialangle=135 color=4]
"n_1.8.18" [radialdistance=1.8 radialangle=137 color=4]
"n_1.8.20" [radialdistance=1.8 radialangle=139 color=4]
"n_1.8.22" [radialdistance=1.8 radialangle=141 color=4]
"n_1.8.24" [radialdistance=1.8 radialangle=143 color=4]
"n_1.8.26" [radialdistance=1.8 radialangle=145 color=4]
"n_1.8.28" [radialdistance=1.8 radialangle=147 color=4]
"n_1.8.30" [radialdistance=1.8 radialangle=149 color=4]
"n_1.8.32" [radialdistance=1.8 radialangle=151 color=4]
"n_1.8.34" [radialdistance=1.8 radialangle=153 color=4]
"n_1.8.36" [radialdistance=1.8 radialangle=155 color=4]
"n_1.8.38" [radialdistance=1.8 radialangle=157 color=4]
"n_1.8.40" [radialdistance=1.8 radialangle=159 color=4]
"n_1.8.42" [radialdistance=1.8 radialangle=161 color=4]
"n_1.8.44" [radialdistance=1.8 radialangle=163 color=4]
"n_1.8.46" [radialdistance=1.8 radialangle=165 color=4]
"n_1.8.48" [radialdistance=1.8 radialangle=167 color=4]
"n_1.8.50" [radialdistance=1.8 radialangle=169 color=4]
"n_1.8.52" [radialdistance=1.8 radialangle=171 color=4]
"n_1.8.54" [radialdistance=1.8 radialangle=173 color=4]
"n_1.8.56" [radialdistance=1.8 radialangle=175 color=4]
"n_1.8.58" [radialdistance=1.8 radialangle=177 color=4]
"n_1.8.60" [radialdistance=1.8 radialangle=179 color=4]
"n_1.8.62" [radialdistance=1.8 radialangle=181 color=4]
"n_1.8.64" [radialdistance=1.8 radialangle=183 color=4]
"n_1.8.66" [radialdistance=1.8 radialangle=185 color=4]
"n_1.8.68" [radialdistance=1.8 radialangle=187 color=4]
"n_1.8.70" [radialdistance=1.8 radialangle=189 color=4]
"n_1.8.72" [radialdistance=1.8 radialangle=191 color=4]
"n_1.8.74" [radialdistance=1.8 radialangle=193 color=4]
"n_1.8.76" [radialdistance=1.8 radialangle=195 color=4]
"n_1.8.78" [radialdistance=1.8 radialangle=197 color=4]
"n_1.8.80" [radialdistance=1.8 radialangle=199 color=4]
"n_1.8.82" [radialdistance=1.8 radialangle=201 color=4]
"n_1.8.84" [radialdistance=1.8 radialangle=203 color=4]
"n_1.8.86" [radialdistance=1.8 radialangle=205 color=4]
"n_1.8.88" [radialdistance=1.8 radialangle=207 color=4]
"n_1.8.90" [radialdistance=1.8 radialangle=209 color=4]
"n_1.8.92" [radialdistance=1.8 radialangle=211 color=4]
"n_1.8.94" [radialdistance=1.8 radialangle=213 color=4]
"n_1.8.96" [radialdistance=1.8 radialangle=215 color=4]
"n_1.8.98" [radialdistance=1.8 radialangle=217 color=4]
"n_1.8.100" [radialdistance=1.8 radialangle=219 color=4]
"n_1.8.102" [radialdistance=1.8 radialangle=221 color=4]
"n_1.8.104" [radialdistance=1.8 radialangle=223 color=4]
"n_1.8.106" [radialdistance=1.8 radialangle=225 color=4]
"n_1.8.108" [radialdistance=1.8 radialangle=227 color=4]
"n_1.8.110" [radialdistance=1.8 radialangle=229 color=4]
"n_1.8.112" [radialdistance=1.8 radialangle=231 color=4]
"n_1.8.114" [radialdistance=1.8 radialangle=233 color=4]
"n_1.8.116" [radialdistance=1.8 radialangle=235 color=4]
"n_1.8.118" [radialdistance=1.8 radialangle=237 color=4]
"n_1.8.120" [radialdistance=1.8 radialangle=239 color=4]
"n_1.8.122" [radialdistance=1.8 radialangle=241 color=4]
"n_1.8.124" [radialdistance=1.8 radialangle=243 color=4]
"n_1.8.126" [radialdistance=1.8 radialangle=245 color=4]
"n_1.8.128" [radialdistance=1.8 radialangle=247 color=4]
"n_1.8.130" [radialdistance=1.8 radialangle=249 color=4]
"n_1.8.132" [radialdistance=1.8 radialangle=251 color=4]
"n_1.8.134" [radialdistance=1.8 radialangle=253 color=4]
"n_1.8.136" [radialdistance=1.8 radialangle=255 color=4]
"n_1.8.138" [radialdistance=1.8 radialangle=257 color=4]
"n_1.8.140" [radialdistance=1.8 radialangle=259 color=4]
"n_1.8.142" [radialdistance=1.8 radialangle=261 color=4]
"n_1.8.144" [radialdistance=1.8 radialangle=263 color=4]
"n_1.8.146" [radialdistance=1.8 radialangle=265 color=4]
"n_1.8.148" [radialdistance=1.8 radialangle=267 color=4]
"n_1.8.150" [radialdistance=1.8 radialangle=269 color=4]
"n_1.8.152" [radialdistance=1.8 radialangle=271 color=4]
"n_1.8.154" [radialdistance=1.8 radialangle=273 color=4]
"n_1.8.156" [radialdistance=1.8 radialangle=275 color=4]
"n_2.1.0" [radialdistance=2.1 radialangle=36 color=5]
"n_2.1.2" [radialdistance=2.1 radialangle=38 color=5]
"n_2.1.4" [radialdistance=2.1 radialangle=40 color=5]
"n_2.1.6" [radialdistance=2.1 radialangle=42 color=5]
"n_2.1.8" [radialdistance=2.1 radialangle=44 color=5]
"n_2.1.10" [radialdistance=2.1 radialangle=46 color=5]
"n_2.1.12" [radialdistance=2.1 radialangle=48 color=5]
"n_2.1.14" [radialdistance=2.1 radialangle=50 color=5]
"n_2.1.16" [radialdistance=2.1 radialangle=52 color=5]
"n_2.1.18" [radialdistance=2.1 radialangle=54 color=5]
"n_2.1.20" [radialdistance=2.1 radialangle=56 color=5]
"n_2.1.22" [radialdistance=2.1 radialangle=58 color=5]
"n_2.1.24" [radialdistance=2.1 radialangle=60 color=5]
"n_2.1.26" [radialdistance=2.1 radialangle=62 color=5]
"n_2.1.28" [radialdistance=2.1 radialangle=64 color=5]
"n_2.1.30" [radialdistance=2.1 radialangle=66 color=5]
"n_2.1.32" [radialdistance=2.1 radialangle=68 color=5]
"n_2.1.34" [radialdistance=2.1 radialangle=70 color=5]
"n_2.1.36" [radialdistance=2.1 radialangle=72 color=5]
"n_2.1.38" [radialdistance=2.1 radialangle=74 color=5]
"n_2.1.40" [radialdistance=2.1 radialangle=76 color=5]
"n_2.1.42" [radialdistance=2.1 radialangle=78 color=5]
"n_2.1.44" [radialdistance=2.1 radialangle=80 color=5]
"n_2.1.46" [radialdistance=2.1 radialangle=82 color=5]
"n_2.1.48" [radialdistance=2.1 radialangle=84 color=5]
"n_2.1.50" [radialdistance=2.1 radialangle=86 color=5]
"n_2.1.52" [radialdistance=2.1 radialangle=88 color=5]
"n_2.1.54" [radialdistance=2.1 radialangle=90 color=5]
"n_2.1.56" [radialdistance=2.1 radialangle=92 color=5]
"n_2.1.58" [radialdistance=2.1 radialangle=94 color=5]
"n_2.1.60" [radialdistance=2.1 radialangle=96 color=5]
"n_2.1.62" [radialdistance=2.1 radialangle=98 color=5]
"n_2.1.64" [radialdistance=2.1 radialangle=100 color=5]
"n_2.1.66" [radialdistance=2.1 radialangle=102 color=5]
"n_2.1.68" [radialdistance=2.1 radialangle=104 color=5]
"n_2.1.70" [radialdistance=2.1 radialangle=106 color=5]
"n_2.1.72" [radialdistance=2.1 radialangle=108 color=5]
"n_2.1.74" [radialdistance=2.1 radialangle=110 color=5]
"n_2.1.76" [radialdistance=2.1 radialangle=112 color=5]
"n_2.1.78" [radialdistance=2.1 radialangle=114 color=5]
"n_2.1.80" [radialdistance=2.1 radialangle=116 color=5]
"n_2.1.82" [radialdistance=2.1 radialangle=118 color=5]
"n_2.1.84" [radialdistance=2.1 radialangle=120 color=5]
"n_2.1.86" [radialdistance=2.1 radialangle=122 color=5]
"n_2.1.88" [radialdistance=2.1 radialangle=124 color=5]
"n_2.1.90" [radialdistance=2.1 radialangle=126 color=5]
"n_2.1.92" [radialdistance=2.1 radialangle=128 color=5]
"n_2.1.94" [radialdistance=2.1 radialangle=130 color=5]
"n_2.1.96" [radialdistance=2.1 radialangle=132 color=5]
"n_2.1.98" [radialdistance=2.1 radialangle=134 color=5]
"n_2.1.100" [radialdistance=2.1 radialangle=136 color=5]
"n_2.1.102" [radialdistance=2.1 radialangle=138 color=5]
"n_2.1.104" [radialdistance=2.1 radialangle=140 color=5]
"n_2.1.106" [radialdistance=2.1 radialangle=142 color=5]
"n_2.1.108" [radialdistance=2.1 radialangle=144 color=5]
"n_2.1.110" [radialdistance=2.1 radialangle=146 color=5]
"n_2.1.112" [radialdistance=2.1 radialangle=148 color=5]
"n_2.1.114" [radialdistance=2.1 radialangle=150 color=5]
"n_2.1.116" [radialdistance=2.1 radialangle=152 color=5]
"n_2.1.118" [radialdistance=2.1 radialangle=154 color=5]
"n_2.1.120" [radialdistance=2.1 radialangle=156 color=5]
"n_2.1.122" [radialdistance=2.1 radialangle=158 color=5]
"n_2.1.124" [radialdistance=2.1 radialangle=160 color=5]
"n_2.1.126" [radialdistance=2.1 radialangle=162 color=5]
"n_2.1.128" [radialdistance=2.1 radialangle=164 color=5]
"n_2.1.130" [radialdistance=2.1 radialangle=166 color=5]
"n_2.1.132" [radialdistance=2.1 radialangle=168 color=5]
"n_2.1.134" [radialdistance=2.1 radialangle=170 color=5]
"n_2.1.136" [radialdistance=2.1 radialangle=172 color=5]
"n_2.1.138" [radialdistance=2.1 radialangle=174 color=5]
"n_2.1.140" [radialdistance=2.1 radialangle=176 color=5]
"n_2.1.142" [radialdistance=2.1 radialangle=178 color=5]
"n_2.1.144" [radialdistance=2.1 radialangle=180 color=5]
"n_2.1.146" [radialdistance=2.1 radialangle=182 color=5]
"n_2.1.148" [radialdistance=2.1 radialangle=184 color=5]
"n_2.1.150" [radialdistance=2.1 radialangle=186 color=5]
"n_2.1.152" [radialdistance=2.1 radialangle=188 color=5]
"n_2.1.154" [radialdistance=2.1 radialangle=190 color=5]
"n_2.1.156" [radialdistance=2.1 radialangle=192 color=5]
"n_2.1.158" [radialdistance=2.1 radialangle=194 color=5]
"n_2.1.160" [radialdistance=2.1 radialangle=196 color=5]
"n_2.1.162" [radialdistance=2.1 radialangle=198 color=5]
"n_2.1.164" [radialdistance=2.1 radialangle=200 color=5]
"n_2.1.166" [radialdistance=2.1 radialangle=202 color=5]
"n_2.1.168" [radialdistance=2.1 radialangle=204 color=5]
"n_2.1.170" [radialdistance=2.1 radialangle=206 color=5]
"n_2.1.172" [radialdistance=2.1 radialangle=208 color=5]
"n_2.1.174" [radialdistance=2.1 radialangle=210 color=5]
"n_2.1.176" [radialdistance=2.1 radialangle=212 color=5]
"n_2.1.178" [radialdistance=2.1 radialangle=214 color=5]
"n_2.1.180" [radialdistance=2.1 radialangle=216 color=5]
"n_2.1.182" [radialdistance=2.1 radialangle=218 color=5]
"n_2.1.184" [radialdistance=2.1 radialangle=220 color=5]
"n_2.1.186" [radialdistance=2.1 radialangle=222 color=5]
"n_2.1.188" [radialdistance=2.1 radialangle=224 color=5]
"n_2.1.190" [radialdistance=2.1 radialangle=226 color=5]
"n_2.1.192" [radialdistance=2.1 radialangle=228 color=5]
"n_2.1.194" [radialdistance=2.1 radialangle=230 color=5]
"n_2.1.196" [radialdistance=2.1 radialangle=232 color=5]
"n_2.1.198" [radialdistance=2.1 radialangle=234 color=5]
"n_2.1.200" [radialdistance=2.1 radialangle=236 color=5]
"n_2.1.202" [radialdistance=2.1 radialangle=238 color=5]
"n_2.1.204" [radialdistance=2.1 radialangle=240 color=5]
"n_2.1.206" [radialdistance=2.1 radialangle=242 color=5]
"n_2.1.208" [radialdistance=2.1 radialangle=244 color=5]
"n_2.1.210" [radialdistance=2.1 radialangle=246 color=5]
"n_2.1.212" [radialdistance=2.1 radialangle=248 color=5]
"n_2.1.214" [radialdistance=2.1 radialangle=250 color=5]
"n_2.1.216" [radialdistance=2.1 radialangle=252 color=5]
"n_2.1.218" [radialdistance=2.1 radialangle=254 color=5]
"n_2.1.220" [radialdistance=2.1 radialangle=256 color=5]
"n_2.1.222" [radialdistance=2.1 radialangle=258 color=5]
"n_2.1.224" [radialdistance=2.1 radialangle=260 color=5]
"n_2.1.226" [radialdistance=2.1 radialangle=262 color=5]
"n_2.1.228" [radialdistance=2.1 radialangle=264 color=5]
"n_2.1.230" [radialdistance=2.1 radialangle=266 color=5]
"n_2.1.232" [radialdistance=2.1 radialangle=268 color=5]
"n_2.1.234" [radialdistance=2.1 radialangle=270 color=5]
"n_2.1.236" [radialdistance=2.1 radialangle=272 color=5]
"n_2.1.238" [radialdistance=2.1 radialangle=274 color=5]
"n_2.1.240" [radialdistance=2.1 radialangle=276 color=5]
"n_2.1.242" [radialdistance=2.1 radialangle=278 color=5]
"n_2.1.244" [radialdistance=2.1 radialangle=280 color=5]
"n_2.1.246" [radialdistance=2.1 radialangle=282 color=5]
"n_2.1.248" [radialdistance=2.1 radialangle=284 color=5]
"n_2.1.250" [radialdistance=2.1 radialangle=286 color=5]
"n_2.1.252" [radialdistance=2.1 radialangle=288 color=5]
"n_2.1.254" [radialdistance=2.1 radialangle=290 color=5]
"n_2.1.256" [radialdistance=2.1 radialangle=292 color=5]
"n_2.1.258" [radialdistance=2.1 radialangle=294 color=5]
"n_2.1.260" [radialdistance=2.1 radialangle=296 color=5]
"n_2.1.262" [radialdistance=2.1 radialangle=298 color=5]
"n_2.1.264" [radialdistance=2.1 radialangle=300 color=5]
"n_2.1.266" [radialdistance=2.1 radialangle=302 color=5]
"n_2.1.268" [radialdistance=2.1 radialangle=304 color=5]
"n_2.1.270" [radialdistance=2.1 radialangle=306 color=5]
"n_2.1.272" [radialdistance=2.1 radialangle=308 color=5]
"n_2.1.274" [radialdistance=2.1 radialangle=310 color=5]
"n_2.1.276" [radialdistance=2.1 radialangle=312 color=5]
"n_2.1.278" [radialdistance=2.1 radialangle=314 color=5]
"n_2.1.280" [radialdistance=2.1 radialangle=316 color=5]
"n_2.4.0" [radialdistance=2.4 radialangle=300 color=6]
"n_2.4.2" [radialdistance=2.4 radialangle=302 color=6]
"n_2.4.4" [radialdistance=2.4 radialangle=304 color=6]
"n_2.4.6" [radialdistance=2.4 radialangle=306 color=6]
"n_2.4.8" [radialdistance=2.4 radialangle=308 color=6]
"n_2.4.10" [radialdistance=2.4 radialangle=310 color=6]
"n_2.4.12" [radialdistance=2.4 radialangle=312 color=6]
"n_2.4.14" [radialdistance=2.4 radialangle=314 color=6]
"n_2.4.16" [radialdistance=2.4 radialangle=316 color=6]
"n_2.4.18" [radialdistance=2.4 radialangle=318 color=6]
"n_2.4.20" [radialdistance=2.4 radialangle=320 color=6]
"n_2.4.22" [radialdistance=2.4 radialangle=322 color=6]
"n_2.4.24" [radialdistance=2.4 radialangle=324 color=6]
"n_2.4.26" [radialdistance=2.4 radialangle=326 color=6]
"n_2.4.28" [radialdistance=2.4 radialangle=328 color=6]
"n_2.4.30" [radialdistance=2.4 radialangle=330 color=6]
"n_2.4.32" [radialdistance=2.4 radialangle=332 color=6]
"n_2.4.34" [radialdistance=2.4 radialangle=334 color=6]
"n_2.4.36" [radialdistance=2.4 radialangle=336 color=6]
"n_2.4.38" [radialdistance=2.4 radialangle=338 color=6]
"n_2.4.40" [radialdistance=2.4 radialangle=340 color=6]
"n_2.4.42" [radialdistance=2.4 radialangle=342 color=6]
"n_2.4.44" [radialdistance=2.4 radialangle=344 color=6]
"n_2.4.46" [radialdistance=2.4 radialangle=346 color=6]
"n_2.4.48" [radialdistance=2.4 radialangle=348 color=6]
"n_2.4.50" [radialdistance=2.4 radialangle=350 color=6]
"n_2.4.52" [radialdistance=2.4 radialangle=352 color=6]
"n_2.4.54" [radialdistance=2.4 radialangle=354 color=6]
"n_2.4.56" [radialdistance=2.4 radialangle=356 color=6]
"n_2.4.58" [radialdistance=2.4 radialangle=358 color=6]
"n_2.4.60" [radialdistance=2.4 radialangle=360 color=6]
"n_2.4.62" [radialdistance=2.4 radialangle=362 color=6]
"n_2.4.64" [radialdistance=2.4 radialangle=364 color=6]
"n_2.4.66" [radialdistance=2.4 radialangle=366 color=6]
"n_2.4.68" [radialdistance=2.4 radialangle=368 color=6]
"n_2.4.70" [radialdistance=2.4 radialangle=370 color=6]
"n_2.4.72" [radialdistance=2.4 radialangle=372 color=6]
"n_2.4.74" [radialdistance=2.4 radialangle=374 color=6]
"n_2.4.76" [radialdistance=2.4 radialangle=376 color=6]
"n_2.4.78" [radialdistance=2.4 radialangle=378 color=6]
"n_2.4.80" [radialdistance=2.4 radialangle=380 color=6]
"n_2.4.82" [radialdistance=2.4 radialangle=382 color=6]
"n_2.4.84" [radialdistance=2.4 radialangle=384 color=6]
"n_2.4.86" [radialdistance=2.4 radialangle=386 color=6]
"n_2.4.88" [radialdistance=2.4 radialangle=388 color=6]
"n_2.4.90" [radialdistance=2.4 radialangle=390 color=6]
"n_2.4.92" [radialdistance=2.4 radialangle=392 color=6]
"n_2.4.94" [radialdistance=2.4 radialangle=394 color=6]
"n_2.4.96" [radialdistance=2.4 radialangle=396 color=6]
"n_2.4.98" [radialdistance=2.4 radialangle=398 color=6]
"n_2.4.100" [radialdistance=2.4 radialangle=400 color=6]
"n_2.4.102" [radialdistance=2.4 radialangle=402 color=6]
"n_2.4.104" [radialdistance=2.4 radialangle=404 color=6]
"n_2.4.106" [radialdistance=2.4 radialangle=406 color=6]
"n_2.4.108" [radialdistance=2.4 radialangle=408 color=6]
"n_2.4.110" [radialdistance=2.4 radialangle=410 color=6]
"n_2.4.112" [radialdistance=2.4 radialangle=412 color=6]
"n_2.4.114" [radialdistance=2.4 radialangle=414 color=6]
"n_2.4.116" [radialdistance=2.4 radialangle=416 color=6]
"n_2.4.118" [radialdistance=2.4 radialangle=418 color=6]
"n_2.4.120" [radialdistance=2.4 radialangle=420 color=6]
"n_2.4.122" [radialdistance=2.4 radialangle=422 color=6]
"n_2.4.124" [radialdistance=2.4 radialangle=424 color=6]
"n_2.4.126" [radialdistance=2.4 radialangle=426 color=6]
"n_2.4.128" [radialdistance=2.4 radialangle=428 color=6]
"n_2.4.130" [radialdistance=2.4 radialangle=430 color=6]
"n_2.4.132" [radialdistance=2.4 radialangle=432 color=6]
"n_2.4.134" [radialdistance=2.4 radialangle=434 color=6]
"n_2.4.136" [radialdistance=2.4 radialangle=436 color=6]
"n_2.4.138" [radialdistance=2.4 radialangle=438 color=6]
"n_2.4.140" [radialdistance=2.4 radialangle=440 color=6]
"n_2.4.142" [radialdistance=2.4 radialangle=442 color=6]
"n_2.4.144" [radialdistance=2.4 radialangle=444 color=6]
"n_2.4.146" [radialdistance=2.4 radialangle=446 color=6]
"n_2.4.148" [radialdistance=2.4 radialangle=448 color=6]
"n_2.4.150" [radialdistance=2.4 radialangle=450 color=6]
"n_2.4.152" [radialdistance=2.4 radialangle=452 color=6]
"n_2.4.154" [radialdistance=2.4 radialangle=454 color=6]
"n_2.4.156" [radialdistance=2.4 radialangle=456 color=6]
"n_2.4.158" [radialdistance=2.4 radialangle=458 color=6]
"n_2.4.160" [radialdistance=2.4 radialangle=460 color=6]
"n_2.4.162" [radialdistance=2.4 radialangle=462 color=6]
"n_2.4.164" [radialdistance=2.4 radialangle=464 color=6]
"n_2.4.166" [radialdistance=2.4 radialangle=466 color=6]
"n_2.4.168" [radialdistance=2.4 radialangle=468 color=6]
"n_2.4.170" [radialdistance=2.4 radialangle=470 color=6]
"n_2.4.172" [radialdistance=2.4 radialangle=472 color=6]
"n_2.4.174" [radialdistance=2.4 radialangle=474 color=6]
"n_2.4.176" [radialdistance=2.4 radialangle=476 color=6]
"n_2.4.178" [radialdistance=2.4 radialangle=478 color=6]
"n_2.4.180" [radialdistance=2.4 radialangle=480 color=6]
"n_2.4.182" [radialdistance=2.4 radialangle=482 color=6]
"n_2.4.184" [radialdistance=2.4 radialangle=484 color=6]
"n_2.4.186" [radialdistance=2.4 radialangle=486 color=6]
"n_2.4.188" [radialdistance=2.4 radialangle=488 color=6]
"n_2.4.190" [radialdistance=2.4 radialangle=490 color=6]
"n_2.4.192" [radialdistance=2.4 radialangle=492 color=6]
"n_2.4.194" [radialdistance=2.4 radialangle=494 color=6]
"n_2.4.196" [radialdistance=2.4 radialangle=496 color=6]
"n_2.4.198" [radialdistance=2.4 radialangle=498 color=6]
"n_2.4.200" [radialdistance=2.4 radialangle=500 color=6]
"n_2.4.202" [radialdistance=2.4 radialangle=502 color=6]
"n_2.4.204" [radialdistance=2.4 radialangle=504 color=6]
"n_2.4.206" [radialdistance=2.4 radialangle=506 color=6]
"n_2.4.208" [radialdistance=2.4 radialangle=508 color=6]
"n_2.4.210" [radialdistance=2.4 radialangle=510 color=6]
"n_2.4.212" [radialdistance=2.4 radialangle=512 color=6]
"n_2.4.214" [radialdistance=2.4 radialangle=514 color=6]
"n_2.4.216" [radialdistance=2.4 radialangle=516 color=6]
"n_2.4.218" [radialdistance=2.4 radialangle=518 color=6]
"n_2.4.220" [radialdistance=2.4 radialangle=520 color=6]
"n_2.4.222" [radialdistance=2.4 radialangle=522 color=6]
"n_2.4.224" [radialdistance=2.4 radialangle=524 color=6]
"n_2.4.226" [radialdistance=2.4 radialangle=526 color=6]
"n_2.4.228" [radialdistance=2.4 radialangle=528 color=6]
"n_2.4.230" [radialdistance=2.4 radialangle=530 color=6]
"n_2.4.232" [radialdistance=2.4 radialangle=532 color=6]
"n_2.4.234" [radialdistance=2.4 radialangle=534 color=6]
"n_2.4.236" [radialdistance=2.4 radialangle=536 color=6]
"n_2.4.238" [radialdistance=2.4 radialangle=538 color=6]
"n_2.4.240" [radialdistance=2.4 radialangle=540 color=6]
"n_2.4.242" [radialdistance=2.4 radialangle=542 color=6]
"n_2.4.244" [radialdistance=2.4 radialangle=544 color=6]
"n_2.4.246" [radialdistance=2.4 radialangle=546 color=6]
"n_2.4.248" [radialdistance=2.4 radialangle=548 color=6]
"n_2.4.250" [radialdistance=2.4 radialangle=550 color=6]
"n_2.4.252" [radialdistance=2.4 radialangle=552 color=6]
"n_2.4.254" [radialdistance=2.4 radialangle=554 color=6]
"n_2.4.256" [radialdistance=2.4 radialangle=556 color=6]
"n_2.4.258" [radialdistance=2.4 radialangle=558 color=6]
"n_2.4.260" [radialdistance=2.4 radialangle=560 color=6]
"n_2.4.262" [radialdistance=2.4 radialangle=562 color=6]
"n_2.4.264" [radialdistance=2.4 radialangle=564 color=6]
"n_2.4.266" [radialdistance=2.4 radialangle=566 color=6]
"n_2.4.268" [radialdistance=2.4 radialangle=568 color=6]
"n_2.4.270" [radialdistance=2.4 radialangle=570 color=6]
"n_2.4.272" [radialdistance=2.4 radialangle=572 color=6]
"n_2.4.274" [radialdistance=2.4 radialangle=574 color=6]
"n_2.4.276" [radialdistance=2.4 radialangle=576 color=6]
"n_2.4.278" [radialdistance=2.4 radialangle=578 color=6]
"n_2.4.280" [radialdistance=2.4 radialangle=580 color=6]
"n_2.4.282" [radialdistance=2.4 radialangle=582 color=6]
"n_2.7.0" [radialdistance=2.7 radialangle=178 color=7]
"n_2.7.2" [radialdistance=2.7 radialangle=180 color=7]
"n_2.7.4" [radialdistance=2.7 radialangle=182 color=7]
"n_2.7.6" [radialdistance=2.7 radialangle=184 color=7]
"n_2.7.8" [radialdistance=2.7 radialangle=186 color=7]
"n_2.7.10" [radialdistance=2.7 radialangle=188 color=7]
"n_2.7.12" [radialdistance=2.7 radialangle=190 color=7]
"n_2.7.14" [radialdistance=2.7 radialangle=192 color=7]
"n_2.7.16" [radialdistance=2.7 radialangle=194 color=7]
"n_2.7.18" [radialdistance=2.7 radialangle=196 color=7]
"n_2.7.20" [radialdistance=2.7 radialangle=198 color=7]
"n_2.7.22" [radialdistance=2.7 radialangle=200 color=7]
"n_2.7.24" [radialdistance=2.7 radialangle=202 color=7]
"n_2.7.26" [radialdistance=2.7 radialangle=204 color=7]
"n_2.7.28" [radialdistance=2.7 radialangle=206 color=7]
"n_2.7.30" [radialdistance=2.7 radialangle=208 color=7]
"n_2.7.32" [radialdistance=2.7 radialangle=210 color=7]
"n_2.7.34" [radialdistance=2.7 radialangle=212 color=7]
"n_2.7.36" [radialdistance=2.7 radialangle=214 color=7]
"n_2.7.38" [radialdistance=2.7 radialangle=216 color=7]
"n_2.7.40" [radialdistance=2.7 radialangle=218 color=7]
"n_2.7.42" [radialdistance=2.7 radialangle=220 color=7]
"n_2.7.44" [radialdistance=2.7 radialangle=222 color=7]
"n_2.7.46" [radialdistance=2.7 radialangle=224 color=7]
"n_2.7.48" [radialdistance=2.7 radialangle=226 color=7]
"n_2.7.50" [radialdistance=2.7 radialangle=228 color=7]
"n_2.7.52" [radialdistance=2.7 radialangle=230 color=7]
"n_2.7.54" [radialdistance=2.7 radialangle=232 color=7]
"n_2.7.56" [radialdistance=2.7 radialangle=234 color=7]
"n_2.7.58" [radialdistance=2.7 radialangle=236 color=7]
"n_2.7.60" [radialdistance=2.7 radialangle=238 color=7]
"n_2.7.62" [radialdistance=2.7 radialangle=240 color=7]
"n_2.7.64" [radialdistance=2.7 radialangle=242 color=7]
"n_2.7.66" [radialdistance=2.7 radialangle=244 color=7]
"n_2.7.68" [radialdistance=2.7 radialangle=246 color=7]
"n_2.7.70" [radialdistance=2.7 radialangle=248 color=7]
"n_2.7.72" [radialdistance=2.7 radialangle=250 color=7]
"n_2.7.74" [radialdistance=2.7 radialangle=252 color=7]
"n_2.7.76" [radialdistance=2.7 radialangle=254 color=7]
"n_2.7.78" [radialdistance=2.7 radialangle=256 color=7]
"n_2.7.80" [radialdistance=2.7 radialangle=258 color=7]
"n_2.7.82" [radialdistance=2.7 radialangle=260 color=7]
"n_2.7.84" [radialdistance=2.7 radialangle=262 color=7]
"n_2.7.86" [radialdistance=2.7 radialangle=264 color=7]
"n_2.7.88" [radialdistance=2.7 radialangle=266 color=7]
"n_2.7.90" [radialdistance=2.7 radialangle=268 color=7]
"n_2.7.92" [radialdistance=2.7 radialangle=270 color=7]
"n_2.7.94" [radialdistance=2.7 radialangle=272 color=7]
"n_2.7.96" [radialdistance=2.7 radialangle=274 color=7]
"n_2.7.98" [radialdistance=2.7 radialangle=276 color=7]
"n_2.7.100" [radialdistance=2.7 radialangle=278 color=7]
"n_2.7.102" [radialdistance=2.7 radialangle=280 color=7]
"n_2.7.104" [radialdistance=2.7 radialangle=282 color=7]
"n_2.7.106" [radialdistance=2.7 radialangle=284 color=7]
"n_2.7.108" [radialdistance=2.7 radialangle=286 color=7]
"n_2.7.110" [radialdistance=2.7 radialangle=288 color=7]
"n_2.7.112" [radialdistance=2.7 radialangle=290 color=7]
"n_2.7.114" [radialdistance=2.7 radialangle=292 color=7]
"n_2.7.116" [radialdistance=2.7 radialangle=294 color=7]
"n_2.7.118" [radialdistance=2.7 radialangle=296 color=7]
"n_2.7.120" [radialdistance=2.7 radialangle=298 color=7]
"n_2.7.122" [radialdistance=2.7 radialangle=300 color=7]
"n_2.7.124" [radialdistance=2.7 radialangle=302 color=7]
"n_2.7.126" [radialdistance=2.7 radialangle=304 color=7]
"n_2.7.128" [radialdistance=2.7 radialangle=306 color=7]
"n_2.7.130" [radialdistance=2.7 radialangle=308 color=7]
"n_2.7.132" [radialdistance=2.7 radialangle=310 color=7]
"n_2.7.134" [radialdistance=2.7 radialangle=312 color=7]
"n_2.7.136" [radialdistance=2.7 radialangle=314 color=7]
"n_2.7.138" [radialdistance=2.7 radialangle=316 color=7]
"n_2.7.140" [radialdistance=2.7 radialangle=318 color=7]
"n_2.7.142" [radialdistance=2.7 radialangle=320 color=7]
"n_2.7.144" [radialdistance=2.7 radialangle=322 color=7]
"n_2.7.146" [radialdistance=2.7 radialangle=324 color=7]
"n_2.7.148" [radialdistance=2.7 radialangle=326 color=7]
"n_2.7.150" [radialdistance=2.7 radialangle=328 color=7]
"n_2.7.152" [radialdistance=2.7 radialangle=330 color=7]
"n_2.7.154" [radialdistance=2.7 radialangle=332 color=7]
"n_2.7.156" [radialdistance=2.7 radialangle=334 color=7]
"n_2.7.158" [radialdistance=2.7 radialangle=336 color=7]
"n_2.7.160" [radialdistance=2.7 radialangle=338 color=7]
"n_2.7.162" [radialdistance=2.7 radialangle=340 color=7]
"n_2.7.164" [radialdistance=2.7 radialangle=342 color=7]
"n_2.7.166" [radialdistance=2.7 radialangle=344 color=7]
"n_2.7.168" [radialdistance=2.7 radialangle=346 color=7]
"n_2.7.170" [radialdistance=2.7 radialangle=348 color=7]
"n_2.7.172" [radialdistance=2.7 radialangle=350 color=7]
"n_2.7.174" [radialdistance=2.7 radialangle=352 color=7]
"n_2.7.176" [radialdistance=2.7 radialangle=354 color=7]
"n_2.7.178" [radialdistance=2.7 radialangle=356 color=7]
"n_2.7.180" [radialdistance=2.7 radialangle=358 color=7]
"n_2.7.182" [radialdistance=2.7 radialangle=360 color=7]
"n_2.7.184" [radialdistance=2.7 radialangle=362 color=7]
"n_2.7.186" [radialdistance=2.7 radialangle=364 color=7]
"n_2.7.188" [radialdistance=2.7 radialangle=366 color=7]
"n_2.7.190" [radialdistance=2.7 radialangle=368 color=7]
"n_2.7.192" [radialdistance=2.7 radialangle=370 color=7]
"n_2.7.194" [radialdistance=2.7 radialangle=372 color=7]
"n_2.7.196" [radialdistance=2.7 radialangle=374 color=7]
"n_2.7.198" [radialdistance=2.7 radialangle=376 color=7]
"n_2.7.200" [radialdistance=2.7 radialangle=378 color=7]
"n_2.7.202" [radialdistance=2.7 radialangle=380 color=7]
"n_2.7.204" [radialdistance=2.7 radialangle=382 color=7]
"n_2.7.206" [radialdistance=2.7 radialangle=384 color=7]
"n_2.7.208" [radialdistance=2.7 radialangle=386 color=7]
"n_2.7.210" [radialdistance=2.7 radialangle=388 color=7]
"n_2.7.212" [radialdistance=2.7 radialangle=390 color=7]
"n_2.7.214" [radialdistance=2.7 radialangle=392 color=7]
"n_2.7.216" [radialdistance=2.7 radialangle=394 color=7]
"n_2.7.218" [radialdistance=2.7 radialangle=396 color=7]
"n_2.7.220" [radialdistance=2.7 radialangle=398 color=7]
"n_2.7.222" [radialdistance=2.7 radialangle=400 color=7]
"n_2.7.224" [radialdistance=2.7 radialangle=402 color=7]
"n_2.7.226" [radialdistance=2.7 radialangle=404 color=7]
"n_2.7.228" [radialdistance=2.7 radialangle=406 color=7]
"n_2.7.230" [radialdistance=2.7 radialangle=408 color=7]
"n_2.7.232" [radialdistance=2.7 radialangle=410 color=7]
"n_2.7.234" [radialdistance=2.7 radialangle=412 color=7]
"n_2.7.236" [radialdistance=2.7 radialangle=414 color=7]
"n_2.7.238" [radialdistance=2.7 radialangle=416 color=7]
"n_2.7.240" [radialdistance=2.7 radialangle=418 color=7]
"n_2.7.242" [radialdistance=2.7 radialangle=420 color=7]
"n_2.7.244" [radialdistance=2.7 radialangle=422 color=7]
"n_2.7.246" [radialdistance=2.7 radialangle=424 color=7]
"n_2.7.248" [radialdistance=2.7 radialangle=426 color=7]
"n_2.7.250" [radialdistance=2.7 radialangle=428 color=7]
"n_2.7.252" [radialdistance=2.7 radialangle=430 color=7]
"n_2.7.254" [radialdistance=2.7 radialangle=432 color=7]
"n_2.7.256" [radialdistance=2.7 radialangle=434 color=7]
"n_2.7.258" [radialdistance=2.7 radialangle=436 color=7]
"n_2.7.260" [radialdistance=2.7 radialangle=438 color=7]
"n_2.7.262" [radialdistance=2.7 radialangle=440 color=7]
"n_2.7.264" [radialdistance=2.7 radialangle=442 color=7]
"n_2.7.266" [radialdistance=2.7 radialangle=444 color=7]
"n_2.7.268" [radialdistance=2.7 radialangle=446 color=7]
"n_2.7.270" [radialdistance=2.7 radialangle=448 color=7]
"n_2.7.272" [radialdistance=2.7 radialangle=450 color=7]
"n_2.7.274" [radialdistance=2.7 radialangle=452 color=7]
}
STopstOP
echo writing radialEngine/radialTest102.gv
cat >radialEngine/radialTest102.gv <<'STopstOP'
// written by gawk script
graph RR{
label="Graphviz - New Radial Engine Tricks (102)"
node [shape=point colorscheme=set312]
edge [colorscheme=set312]
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
"n_3.69618_120" [radialdistance=3.69618 radialangle=120 color="#984e94"]
Center -- "n_3.69618_120"[color="#984e94"]
"n_2.96053_135" [radialdistance=2.96053 radialangle=135 color="#c96f55"]
Center -- "n_2.96053_135"[color="#c96f55"]
"n_3.11552_150" [radialdistance=3.11552 radialangle=150 color="#19c8d5"]
Center -- "n_3.11552_150"[color="#19c8d5"]
"n_3.04484_165" [radialdistance=3.04484 radialangle=165 color="#7e6df2"]
Center -- "n_3.04484_165"[color="#7e6df2"]
"n_3.28721_180" [radialdistance=3.28721 radialangle=180 color="#b5281e"]
Center -- "n_3.28721_180"[color="#b5281e"]
"n_3.63874_195" [radialdistance=3.63874 radialangle=195 color="#de73b4"]
Center -- "n_3.63874_195"[color="#de73b4"]
"n_1.59875_210" [radialdistance=1.59875 radialangle=210 color="#a5b24c"]
Center -- "n_1.59875_210"[color="#a5b24c"]
"n_2.36666_225" [radialdistance=2.36666 radialangle=225 color="#f428cc"]
Center -- "n_2.36666_225"[color="#f428cc"]
"n_0.529552_240" [radialdistance=0.529552 radialangle=240 color="#8cfbd2"]
Center -- "n_0.529552_240"[color="#8cfbd2"]
"n_1.69194_255" [radialdistance=1.69194 radialangle=255 color="#f6cb2c"]
Center -- "n_1.69194_255"[color="#f6cb2c"]
"n_2.27526_270" [radialdistance=2.27526 radialangle=270 color="#ee3405"]
Center -- "n_2.27526_270"[color="#ee3405"]
"n_3.39672_285" [radialdistance=3.39672 radialangle=285 color="#b9c232"]
Center -- "n_3.39672_285"[color="#b9c232"]
"n_2.99436_300" [radialdistance=2.99436 radialangle=300 color="#6e77c8"]
Center -- "n_2.99436_300"[color="#6e77c8"]
"n_1.29514_315" [radialdistance=1.29514 radialangle=315 color="#18e2fa"]
Center -- "n_1.29514_315"[color="#18e2fa"]
"n_2.48285_330" [radialdistance=2.48285 radialangle=330 color="#2870fd"]
Center -- "n_2.48285_330"[color="#2870fd"]
"n_3.96094_345" [radialdistance=3.96094 radialangle=345 color="#776cb1"]
Center -- "n_3.96094_345"[color="#776cb1"]
"n_0.507738_360" [radialdistance=0.507738 radialangle=360 color="#493f92"]
Center -- "n_0.507738_360"[color="#493f92"]
}
STopstOP
echo writing radialEngine/radialTest103.gv
cat >radialEngine/radialTest103.gv <<'STopstOP'
// written by gawk script
graph RR{
label="Graphviz - New Radial Engine Tricks (103) (accidentally wacky)"
node [shape=point colorscheme=set312]
edge [colorscheme=set312]
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
"n_3.69618_120" [radialdistance=3.69618 radialangle="120/23" color="#984e94"]
"n_2.96053_135" [radialdistance=2.96053 radialangle="135/23" color="#c96f55"]
"n_3.69618_120" -- "n_2.96053_135"[color="#c96f55"]
"n_3.11552_150" [radialdistance=3.11552 radialangle="150/23" color="#19c8d5"]
"n_2.96053_135" -- "n_3.11552_150"[color="#19c8d5"]
"n_3.04484_165" [radialdistance=3.04484 radialangle="165/23" color="#7e6df2"]
"n_3.11552_150" -- "n_3.04484_165"[color="#7e6df2"]
"n_3.28721_180" [radialdistance=3.28721 radialangle="180/23" color="#b5281e"]
"n_3.04484_165" -- "n_3.28721_180"[color="#b5281e"]
"n_3.63874_195" [radialdistance=3.63874 radialangle="195/23" color="#de73b4"]
"n_3.28721_180" -- "n_3.63874_195"[color="#de73b4"]
"n_1.59875_210" [radialdistance=1.59875 radialangle="210/23" color="#a5b24c"]
"n_3.63874_195" -- "n_1.59875_210"[color="#a5b24c"]
"n_2.36666_225" [radialdistance=2.36666 radialangle="225/23" color="#f428cc"]
"n_1.59875_210" -- "n_2.36666_225"[color="#f428cc"]
"n_0.529552_240" [radialdistance=0.529552 radialangle="240/23" color="#8cfbd2"]
"n_2.36666_225" -- "n_0.529552_240"[color="#8cfbd2"]
"n_1.69194_255" [radialdistance=1.69194 radialangle="255/23" color="#f6cb2c"]
"n_0.529552_240" -- "n_1.69194_255"[color="#f6cb2c"]
"n_2.27526_270" [radialdistance=2.27526 radialangle="270/23" color="#ee3405"]
"n_1.69194_255" -- "n_2.27526_270"[color="#ee3405"]
"n_3.39672_285" [radialdistance=3.39672 radialangle="285/23" color="#b9c232"]
"n_2.27526_270" -- "n_3.39672_285"[color="#b9c232"]
"n_2.99436_300" [radialdistance=2.99436 radialangle="300/23" color="#6e77c8"]
"n_3.39672_285" -- "n_2.99436_300"[color="#6e77c8"]
"n_1.29514_315" [radialdistance=1.29514 radialangle="315/23" color="#18e2fa"]
"n_2.99436_300" -- "n_1.29514_315"[color="#18e2fa"]
"n_2.48285_330" [radialdistance=2.48285 radialangle="330/23" color="#2870fd"]
"n_1.29514_315" -- "n_2.48285_330"[color="#2870fd"]
"n_3.96094_345" [radialdistance=3.96094 radialangle="345/23" color="#776cb1"]
"n_2.48285_330" -- "n_3.96094_345"[color="#776cb1"]
"n_0.507738_360" [radialdistance=0.507738 radialangle="360/23" color="#493f92"]
"n_3.96094_345" -- "n_0.507738_360"[color="#493f92"]
"n_2.0822_375" [radialdistance=2.0822 radialangle="375/23" color="#468688"]
"n_0.507738_360" -- "n_2.0822_375"[color="#468688"]
"n_2.5562_390" [radialdistance=2.5562 radialangle="390/23" color="#d00308"]
"n_2.0822_375" -- "n_2.5562_390"[color="#d00308"]
"n_0.366654_405" [radialdistance=0.366654 radialangle="405/23" color="#725f29"]
"n_2.5562_390" -- "n_0.366654_405"[color="#725f29"]
"n_1.84317_420" [radialdistance=1.84317 radialangle="420/23" color="#618807"]
"n_0.366654_405" -- "n_1.84317_420"[color="#618807"]
"n_2.43624_435" [radialdistance=2.43624 radialangle="435/23" color="#52c76b"]
"n_1.84317_420" -- "n_2.43624_435"[color="#52c76b"]
"n_0.651511_450" [radialdistance=0.651511 radialangle="450/23" color="#f9362f"]
"n_2.43624_435" -- "n_0.651511_450"[color="#f9362f"]
"n_0.651511_450" -- "n_3.69618_120" [color="#f9362f"]
}
STopstOP
echo writing radialEngine/radialTest104.gv
cat >radialEngine/radialTest104.gv <<'STopstOP'
// written by gawk script
graph RR{
label="Graphviz - New Radial Engine Tricks (104)"
node [shape=point colorscheme=set312]
edge [colorscheme=set312]
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
"n_3.69618_1" [radialdistance=3.69618 radialangle="1/23" color="#984e94"]
"n_2.96053_2" [radialdistance=2.96053 radialangle="2/23" color="#c96f55"]
"n_3.69618_1" -- "n_2.96053_2"[color="#c96f55"]
"n_3.11552_3" [radialdistance=3.11552 radialangle="3/23" color="#19c8d5"]
"n_2.96053_2" -- "n_3.11552_3"[color="#19c8d5"]
"n_3.04484_4" [radialdistance=3.04484 radialangle="4/23" color="#7e6df2"]
"n_3.11552_3" -- "n_3.04484_4"[color="#7e6df2"]
"n_3.28721_5" [radialdistance=3.28721 radialangle="5/23" color="#b5281e"]
"n_3.04484_4" -- "n_3.28721_5"[color="#b5281e"]
"n_3.63874_6" [radialdistance=3.63874 radialangle="6/23" color="#de73b4"]
"n_3.28721_5" -- "n_3.63874_6"[color="#de73b4"]
"n_1.59875_7" [radialdistance=1.59875 radialangle="7/23" color="#a5b24c"]
"n_3.63874_6" -- "n_1.59875_7"[color="#a5b24c"]
"n_2.36666_8" [radialdistance=2.36666 radialangle="8/23" color="#f428cc"]
"n_1.59875_7" -- "n_2.36666_8"[color="#f428cc"]
"n_0.529552_9" [radialdistance=0.529552 radialangle="9/23" color="#8cfbd2"]
"n_2.36666_8" -- "n_0.529552_9"[color="#8cfbd2"]
"n_1.69194_10" [radialdistance=1.69194 radialangle="10/23" color="#f6cb2c"]
"n_0.529552_9" -- "n_1.69194_10"[color="#f6cb2c"]
"n_2.27526_11" [radialdistance=2.27526 radialangle="11/23" color="#ee3405"]
"n_1.69194_10" -- "n_2.27526_11"[color="#ee3405"]
"n_3.39672_12" [radialdistance=3.39672 radialangle="12/23" color="#b9c232"]
"n_2.27526_11" -- "n_3.39672_12"[color="#b9c232"]
"n_2.99436_13" [radialdistance=2.99436 radialangle="13/23" color="#6e77c8"]
"n_3.39672_12" -- "n_2.99436_13"[color="#6e77c8"]
"n_1.29514_14" [radialdistance=1.29514 radialangle="14/23" color="#18e2fa"]
"n_2.99436_13" -- "n_1.29514_14"[color="#18e2fa"]
"n_2.48285_15" [radialdistance=2.48285 radialangle="15/23" color="#2870fd"]
"n_1.29514_14" -- "n_2.48285_15"[color="#2870fd"]
"n_3.96094_16" [radialdistance=3.96094 radialangle="16/23" color="#776cb1"]
"n_2.48285_15" -- "n_3.96094_16"[color="#776cb1"]
"n_0.507738_17" [radialdistance=0.507738 radialangle="17/23" color="#493f92"]
"n_3.96094_16" -- "n_0.507738_17"[color="#493f92"]
"n_2.0822_18" [radialdistance=2.0822 radialangle="18/23" color="#468688"]
"n_0.507738_17" -- "n_2.0822_18"[color="#468688"]
"n_2.5562_19" [radialdistance=2.5562 radialangle="19/23" color="#d00308"]
"n_2.0822_18" -- "n_2.5562_19"[color="#d00308"]
"n_0.366654_20" [radialdistance=0.366654 radialangle="20/23" color="#725f29"]
"n_2.5562_19" -- "n_0.366654_20"[color="#725f29"]
"n_1.84317_21" [radialdistance=1.84317 radialangle="21/23" color="#618807"]
"n_0.366654_20" -- "n_1.84317_21"[color="#618807"]
"n_2.43624_22" [radialdistance=2.43624 radialangle="22/23" color="#52c76b"]
"n_1.84317_21" -- "n_2.43624_22"[color="#52c76b"]
"n_0.651511_23" [radialdistance=0.651511 radialangle="23/23" color="#f9362f"]
"n_2.43624_22" -- "n_0.651511_23"[color="#f9362f"]
"n_0.651511_23" -- "n_3.69618_1" [color="#f9362f"]
}
STopstOP
echo writing radialEngine/radialTest11.gv
cat >radialEngine/radialTest11.gv <<'STopstOP'
digraph radialTest11 {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="another cool\nRadial Graph"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node [shape=plaintext label=<
<table border="0" cellborder="1" cellspacing="0">
<tr> <td><i>Input Foo</i></td><td> two </td> </tr>
<tr> <td bgcolor="lightblue" port="1">one</td><td> two </td></tr>
<tr> <td port="2">two</td><td> four </td></tr>
</table>>]
b1 [radialdistance="3" radialangle="1/9"]
b2 [radialdistance="3" radialangle="2/9" ]
b3 [radialdistance="3" radialangle="3/9"]
b4 [radialdistance="1.8" radialangle="4/9"]
node [shape=plaintext label=<
<table border="0" cellborder="1" cellspacing="0">
<tr> <td bgcolor="green1"><i>This</i></td><td>That</td> </tr>
<tr> <td port="1">100</td><td>bagles</td></tr>
<tr> <td port="2">333</td><td>tacos</td></tr>
</table>>]
b5 [radialdistance="3" radialangle="5/9"]
b6 [radialdistance="3.6" radialangle="6/9"]
b7 [radialdistance="3" radialangle="7/9"]
b8 [radialdistance="1.1" radialangle="8/9"]
node [shape=ellipse label="Over\nunder"]
b9 [radialdistance="3" radialangle="9/9"]
}
edge [arrowhead=normal] //dir=forward headclip=false] // why is dir needed?
Center -> b1 [style=dashed]
Center -> b2 [style=dashed]
Center -> b3 [style=dotted color=darkgreen]
Center -> b4
Center -> b5 [color=blue arrowhead=odot]
Center -> b6 [penwidth=3 arrowhead=odot]
Center -> b7 [headclip=false arrowhead=dot]
Center -> b8
Center -> b9 [style=dashed ]
}
STopstOP
echo writing radialEngine/radialTest12.gv
cat >radialEngine/radialTest12.gv <<'STopstOP'
graph radialTest2 {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="another cool\nRadial Graph"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node [fillcolor=yellow, style="filled", shape=Mrecord label="{ bumble | | bee }"]
b1 [radialdistance="3" radialangle="1/9"]
b2 [radialdistance="3" radialangle="2/9" ]
b3 [radialdistance="3" radialangle="3/9"]
node [fillcolor=green, style="filled", shape=Mrecord label="{ one | | | many }"]
b4 [radialdistance="1.8" radialangle="4/9"]
b5 [radialdistance="3" radialangle="5/9"]
b6 [radialdistance="3.6" radialangle="6/9"]
node [fillcolor=lightblue, style="filled", shape=Mrecord label="{ here | there }"]
b7 [radialdistance="3" radialangle="7/9"]
b8 [radialdistance="1.1" radialangle="8/9"]
node [fillcolor=purple, style="filled", shape=Mrecord label="{ dogs | | cats }"]
b9 [radialdistance="3" radialangle="9/9"]
}
edge [arrowhead=dot dir=forward headclip=false] // why is dir needed?
Center -- b1 [style=dashed]
Center -- b2 [style=dashed]
Center -- b3 [style=dotted color=darkgreen]
Center -- b4 [style=dashed arrowhead=odot]
Center -- b5 [color=blue arrowhead=odot]
Center -- b6 [penwidth=3 arrowhead=odot]
Center -- b7
Center -- b8
Center -- b9
}
STopstOP
echo writing radialEngine/radialTest2.gv
cat >radialEngine/radialTest2.gv <<'STopstOP'
graph radialTest2 {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="another cool\nRadial Graph"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node[shape=point style=invis]
b1 [radialdistance="3" radialangle="1/9"]
b2 [radialdistance="3" radialangle="2/9" ]
b3 [radialdistance="3" radialangle="3/9"]
b4 [radialdistance="1.8" radialangle="4/9"]
b5 [radialdistance="3" radialangle="5/9"]
b6 [radialdistance="3.6" radialangle="6/9"]
b7 [radialdistance="3" radialangle="7/9"]
b8 [radialdistance="1.1" radialangle="8/9"]
b9 [radialdistance="3" radialangle="9/9"]
}
{
node [shape=plaintext label="\N"]
LBL1 [label="Label 1" radialdistance="4" radialangle="1/9"]
LBL2 [radialdistance="4" radialangle="2/9"]
LBL3 [radialdistance="4" radialangle="3/9"]
LBL4 [radialdistance="4" radialangle="4/9"]
LBL5 [radialdistance="4" radialangle="5/9"]
LBL6 [radialdistance="4" radialangle="6/9"]
LBL7 [radialdistance="4" radialangle="7/9"]
LBL8 [radialdistance="4" radialangle="8/9"]
LBL9 [radialdistance="4" radialangle="9/9"]
}
edge [arrowhead=dot dir=forward headclip=false] // why is dir needed?
Center -- b1 [style=dashed]
Center -- b2 [style=dashed]
Center -- b3 [style=dotted color=darkgreen]
Center -- b4 [style=dashed arrowhead=odot]
Center -- b5 [color=blue arrowhead=odot]
Center -- b6 [penwidth=3 arrowhead=odot]
Center -- b7
Center -- b8
Center -- b9
}
STopstOP
echo writing radialEngine/radialTest3.gv
cat >radialEngine/radialTest3.gv <<'STopstOP'
graph radialTest3 {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="my cool\nRadial Graph"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node[shape=point style=invis]
b1 [radialdistance="3" radialangle="1/6"]
b2 [radialdistance="3" radialangle="2/6" ]
b3 [radialdistance="3" radialangle="3/6"]
b4 [radialdistance="1.8" radialangle="4/6"]
b5 [radialdistance="3" radialangle="5/6"]
b6 [radialdistance="3.6" radialangle="6/6"]
}
{
node [shape=plaintext label="\N" radialdistance="4"]
LBL1 [ radialangle="1/6"]
LBL2 [ radialangle="2/6"]
LBL3 [ radialangle="3/6"]
LBL4 [ radialangle="4/6"]
LBL5 [ radialangle="5/6"]
LBL6 [ radialangle="6/6"]
}
edge [arrowhead=dot dir=forward headclip=false] // why is dir needed?
Center -- b1 [style=dashed]
Center -- b2 [style=dashed]
Center -- b3 [style=dotted color=darkgreen]
Center -- b4 [style=dashed arrowhead=odot]
Center -- b5 [color=blue arrowhead=odot]
Center -- b6 [penwidth=3 arrowhead=odot]
}
STopstOP
echo writing radialEngine/radialTest4.gv
cat >radialEngine/radialTest4.gv <<'STopstOP'
graph radialTest4 {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="my cool\nRadial Graph"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node[shape=point style=invis xlabel="\N"]
b1 [radialdistance="3" radialangle="1/6"]
b2 [radialdistance="3" radialangle="2/6" ]
b3 [radialdistance="3" radialangle="3/6"]
b4 [radialdistance="1.8" radialangle="4/6"]
b5 [radialdistance="3" radialangle="5/6"]
b6 [radialdistance="3.6" radialangle="6/6"]
}
edge [arrowhead=dot dir=forward headclip=false] // why is dir needed?
Center -- b1 [style=dashed]
Center -- b2 [style=dashed]
Center -- b3 [style=dotted color=darkgreen]
Center -- b4 [style=dashed arrowhead=odot]
Center -- b5 [color=blue arrowhead=odot]
Center -- b6 [penwidth=3 arrowhead=odot]
}
STopstOP
echo writing radialEngine/radialTestClock4:45.gv
cat >radialEngine/radialTestClock4:45.gv <<'STopstOP'
digraph radialTestClock {
// set optional radial parameters
graph [radialclockwise="true" radialstart="12oc"]
label="Clock: 4:45"
// define Center, needed by this graph type as tail of edges
Center[radialdistance=0 radialangle=0 label="" style=filled shape=point]
{
node [shape=circle width=.6 radialdistance="4" ]
1 [ radialangle="1/12"]
2 [ radialangle="2/12"]
3 [ radialangle="3/12"]
4 [ radialangle="4/12"]
5 [ radialangle="5/12"]
6 [ radialangle="6/12"]
7 [ radialangle="7/12"]
8 [ radialangle="8/12"]
9 [ radialangle="9/12"]
10 [ radialangle="10/12"]
11 [ radialangle="11/12"]
12 [ radialangle="12/12"]
node[shape=point style=invis xlabel="\N"]
hr [radialdistance="2.1" radialangle="4.75/12"]
min [radialdistance="3.5" radialangle="9/12" ]
}
Center -> hr //[style=dashed]
Center -> min // [style=dashed]
/*
Center -> b3 [style=dotted color=darkgreen]
Center -> b4 [style=dashed arrowhead=odot]
Center -> b5 [color=blue arrowhead=odot]
Center -> b6 [penwidth=3 arrowhead=odot]
*/
}
STopstOP
@steveroush
Copy link
Author

Tiny changes, mostly text.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment