mkgrads.sh 828 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #! /bin/ksh
  2. #
  3. # usage: mkgrads.sh <gradient>
  4. #
  5. # where gradient has the form g_lin<angle>.fmt, g_wlin<angle>.fmt or g_rad<angle>.fmt
  6. # where .fmt gives the desired output format.
  7. if (( $# == 0 ))
  8. then
  9. echo "mkgrads: missing gradient name argument"
  10. exit 1
  11. fi
  12. TGT=$1 # g_type.fmt
  13. GRAD=${1%.*} # g_type
  14. FMT=${1#$GRAD.} # fmt
  15. F=$GRAD.dot # g_type.dot
  16. WT=
  17. case "$GRAD" in
  18. g_lin* )
  19. ANG=${GRAD#g_lin}
  20. STYLE=
  21. ;;
  22. g_wlin* )
  23. ANG=${GRAD#g_wlin}
  24. STYLE=
  25. WT=';0.3'
  26. ;;
  27. g_rad* )
  28. ANG=${GRAD#g_rad}
  29. STYLE=-Nstyle=radial
  30. ;;
  31. esac
  32. exec 3> $F
  33. echo "digraph G {" >&3
  34. echo " node[style=filled fillcolor=\"yellow${WT}:blue\" shape=box label=\"\"]" >&3
  35. echo " H " >&3
  36. echo "}" >&3
  37. exec 3>&-
  38. dot -T$FMT $STYLE -Ngradientangle=$ANG $F > $TGT
  39. rm -f $F