PHP 7.4.33
Preview: rotate Size: 1.17 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/usr/share/graphviz/gvpr/rotate

/* Given node name and angle, rotate a layout using the given
 * node as origin.
 */

BEGIN {
  double x,y;
  double x0,y0;
  double x1,y1;
  double angle, cosa, sina;
  int cnt, sz;

  void rotate (double a, double b) {
    a -= x0;
    b -= y0;
    x1 = a*cosa - b*sina;
    y1 = a*sina + b*cosa;
  }
  char* rotateE (char* p) {
    char* newpos = "";
    cnt = sscanf (p, "e,%lf,%lf%n", &x, &y, &sz);
    if (cnt == 2) {
      rotate (x,y);
      newpos = newpos + sprintf ("e%lf,%lf ", x1, y1);
      p = substr(p, sz);
    }
    cnt = sscanf (p, "s,%lf,%lf%n", &x, &y, &sz);
    if (cnt == 2) {
      rotate (x,y);
      newpos = newpos + sprintf ("s%lf,%lf ", x1, y1);
      p = substr(p, sz);
    }

    while (sscanf (p, "%lf,%lf%n", &x, &y, &sz) == 2) {
      rotate (x,y);
      newpos = newpos + sprintf ("%lf,%lf ", x1, y1);
      p = substr(p, sz);
    }

    return newpos;
  }
}

BEG_G {
  node_t ctr = node ($, ARGV[0]);

  sscanf (ARGV[1], "%f", &angle);
  cosa = cos(angle);
  sina = sin(angle);

  sscanf (ctr.pos, "%f,%f", &x0, &y0);
  $.bb ="";
}
N {
  sscanf ($.pos, "%f,%f", &x, &y);
  rotate (x,y);
  $.pos = sprintf ("%f,%f", x1, y1);
}
E {
  $.pos = rotateE($.pos);
}

Directory Contents

Dirs: 0 × Files: 37

Name Size Perms Modified Actions
291 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
830 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.29 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
422 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
151 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
997 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
532 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.14 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
455 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
532 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
916 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
178 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
601 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
469 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.41 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
560 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
264 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
351 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
116 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
397 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
249 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
547 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
647 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
88 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
277 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
791 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
319 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
378 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.20 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
307 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
449 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.17 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.12 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
1.10 KB lrw-r--r-- 2024-04-06 12:47:07
Edit Download
139 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
429 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download
988 B lrw-r--r-- 2024-04-06 12:47:07
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).