#!/bin/bash
# Création d'une animation à partir de povray.
# Le dessin doit être sauvegardé au format nom.pov.
# où nom est le préfixe des fichiers nom000.png, nom001.png etc. à créer,
# Syntaxe :
#     U_D nom a b
# où a est la valeur mimimale prise par clock dans
# le fichier povray, et b la valeur maximale.
# Usuellement, a = 0 et b = 400.
# Le script crée alors les b-a+1 images correspondante.
# ***********************************************************
Help(){
clear
echo "Script pour créer les images *.png permettant une animation."
echo "Syntaxe :"
echo "     U_creeimages nom valdebut valfin"
echo "où nom.pov est le fichier povray source, les images créées étant nom000.png, nom001.png etc."
echo "   valdebut est la valeur mimimale prise par clock dans le fichier povray,"
echo "   valfin est la valeur maximale de clock."
echo "valdebut et valfin sont censés être des entiers entre 0 et 999."
echo "Usuellement, valdebut = 0 et valfin = 400."
echo "Le script crée alors les valfin-valdebut+1 images correspondantes."
echo "Exemples :"
echo "    U_creeimages D 0 400"
echo "    U_creeimages G 30 45"
}

Jusqua9(){
    n=$2
    while [ $n -le $3 ]; do
        povray +I${1}.pov +W512 +H384 +A clock=$n +O${1}00$n -d 
#       echo "povray +I${1}.pov +W512 +H384 +A clock=${n} +O${1}00${n} -d"
        n=$(($n+1))
    done
}

Jusqua99(){
    n=$2
    while [ $n -le $3 ]; do
        povray +I${1}.pov +W512 +H384 +A clock=$n +O${1}0$n -d 
#       echo "povray +I${1}.pov +W512 +H384 +A clock=${n} +O${1}0${n} -d"
        n=$(($n+1))
    done
}

Jusqua999(){
    n=$2
    while [ $n -le $3 ]; do
        povray +I${1}.pov +W512 +H384 +A clock=$n +O${1}$n -d 
#       echo "povray +I${1}.pov +W512 +H384 +A clock=${n} +O${1}${n} -d"
        n=$(($n+1))
    done
}
 
if [ "$1" = "" ] || [ "$2" = "" ] || [ "$3" = "" ] || [ "$1" = "?" ] || [ "$1" = "-help" ] || [ "$1" = "/?" ] || [ "$2" -lt 0 ] || [ "$3" -gt 999 ] ; then
    Help
elif [ "$2" -le 9 ]; then
    if [ "$3" -le 9 ]; then
        (Jusqua9 $1 $2 $3)
    elif [ "$3" -le 99 ]; then
        (Jusqua9 $1 $2 9)
        (Jusqua99 $1 10 $3)
    else
        (Jusqua9 $1 $2 9)
        (Jusqua99 $1 10 99)
        (Jusqua999 $1 100 $3)
    fi        
elif [ "$2" -le 99 ]; then
    if [ "$3" -le 99 ]; then
        (Jusqua99 $1 $2 $3)
    else
        (Jusqua99 $1 $2 99)
        (Jusqua999 $1 100 $3)
    fi        
elif [ "$2" -le 999 ]; then
    (Jusqua999 $1 $2 $3)
else 
    Help
fi

