| Server IP : 161.248.188.39 / Your IP : 216.73.216.53 Web Server : Apache System : Linux 161-248-188-39.cprapid.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : mysoftbd ( 1002) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/graphviz/gvpr/ |
Upload File : |
/* Assuming nodes have been positioned by dot, this adds a rank
* attribute by placing all nodes with the same y value on a specific
* integer rank.
* If the graph has rankdir=LR, x and y are flipped.
*/
BEG_G {
double x,y;
int lv[double];
int r, rk[double];
int flip;
if (isAttr($,"G","rankdir") && $.rankdir=="LR") flip = 1;
}
N {
sscanf($.pos,"%f,%f",&x,&y);
if (flip) lv[x] = 1;
else lv[y] = 1;
}
BEG_G {
r = 0;
if (flip)
forr (lv[x]) {
rk[x] = r++;
/* printf (2, "rk[%f] = %d\n", y, rk[y]); */
}
else
forr (lv[y]) {
rk[y] = r++;
/* printf (2, "rk[%f] = %d\n", y, rk[y]); */
}
}
N {
sscanf($.pos,"%f,%f",&x,&y);
/* printf(2, "node %s y %f rk %d\n", $.name, y, rk[y]); */
if (flip) $.rank = sprintf("%d", rk[x]);
else $.rank = sprintf("%d", rk[y]);
}