#!/bin/sh export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin echo '' cat > /var/cache/svgmap/data.tmp nodes=$(cat /var/cache/svgmap/data.tmp \ | /var/www/libexec/svgmap/paths-to-edges \ | tr ' ' '\n' \ | sort \ | uniq ) nn=$(echo $nodes | tr ' ' '\n' | wc -l | tr -d ' ') scale=200 xoff=250 yoff=250 cat /var/cache/svgmap/data.tmp | /var/www/libexec/svgmap/paths-to-edges > /var/cache/svgmap/edges.list nsin="" ncos="" lsin="" lcos="" for i in $(seq 0 $nn);do tmpsin="$(echo | awk "{ print ( ( sin( ( ${i}.0 / ${nn}.0) * 2.0 * atan2(0,-1) ) ) ) }")" tmpcos="$(echo | awk "{ print ( ( cos( ( ${i}.0 / ${nn}.0) * 2.0 * atan2(0,-1) )) ) }")" scale=200 nsin="$nsin $(echo | awk "{print $scale * $tmpsin + $xoff}")" ncos="$ncos $(echo | awk "{print $scale * $tmpcos + $yoff}")" scale=180 lsin="$lsin $(echo | awk "{print $scale * $tmpsin + $xoff}")" lcos="$lcos $(echo | awk "{print $scale * $tmpcos + $yoff}")" done for i in $nodes;do node1n=$(echo $nodes | tr ' ' '\n' | grep -n '^'$i'$' | cut -d: -f1) x="$(echo $nsin | cut '-d ' -f$node1n)" y="$(echo $ncos | cut '-d ' -f$node1n)" printf '' printf '' "$i" printf '' "$i" "$x" "$y" printf '%s' "$x" "$y" "$x" "$y" "$i" echo "" cat /var/cache/svgmap/edges.list | grep "\b$i\b" | while read edge;do node1=$(echo $edge | cut '-d ' -f1) node2=$(echo $edge | cut '-d ' -f2) node1n=$(echo $nodes | tr ' ' '\n' | grep -n '^'$node1'$' | cut -d: -f1) node2n=$(echo $nodes | tr ' ' '\n' | grep -n '^'$node2'$' | cut -d: -f1) x1="$(echo $lsin | cut '-d ' -f$node1n)" y1="$(echo $lcos | cut '-d ' -f$node1n)" x2="$(echo $lsin | cut '-d ' -f$node2n)" y2="$(echo $lcos | cut '-d ' -f$node2n)" printf '\n' "$x1" "$y1" "$x2" "$y2" done printf "\n" done echo ''