#!/bin/csh ####################################################################################################################################### # # # G E N E R A T I O N D E L A P A L E T T E ' Divers.12 ' : # # # # # # Utilisation : # # # # $xigP/Divers.12$Z [<F> [<M> [<T> [<mX> [<MX> [<mY> [<MY> [<mZ> [<MZ> [<Form> [<Bib> [<DM> [<C> <Arg>]]]]]]]]]]]]]]] # # # # # # Author of '$xigP/Divers.12$Z' : # # # # Jean-Francois COLONNA (LACTAMME, 20230522101645). # # # ####################################################################################################################################### set FichiersXYZ=$1 set Message=$2 set TailleMessage=$3 set MinX=$4 set MaxX=$5 set MinY=$6 set MaxY=$7 set MinZ=$8 set MaxZ=$9 set Format=$10 set Bibliotheque=$11 set DistanceMini=$12 set Cubique=$13 set Arguments="$14" # Il est imperatif que la definition de '$Arguments' soit entre deux '$K_QD' si l'on veut # # pouvoir recuperer correctement des arguments tel : # # # # "LISTE_dX=1 LISTE_dY=1 LISTE_dZ=1" # # # # par exemple... # #20230523110507____:setArgum Message "A" # setArgum Message "F" setArgum TailleMessage 20 setArgum MinX 0 setArgum MaxX 1 setArgum MinY 0 setArgum MaxY 1 setArgum MinZ 0 setArgum MaxZ 1 setArgum Format Std setArgum Bibliotheque 5 setArgum DistanceMini `GetParam $xrv/particule.10$X distance_minimale` setArgum Cubique FAUX setArgum Arguments "$K_VIDE" eval "$Format" set NiVeAu_MeSsAGe=$BLANC FilSTmpB FStRuCtUrE $xci/message$X \ A=$NOIR \ taille=$TailleMessage \ SKH=FAUX \ message="$Message" \ niveau_message=$NiVeAu_MeSsAGe \ niveau_fond=$NOIR \ lisere=FAUX \ bibliotheque=$Bibliotheque \ editer_vecteur_3D=VRAI \ Prme=VRAI \ R=$FStRuCtUrE.image1 \ $formatI \ > $FStRuCtUrE.all if ($NEXIST) then $xci/display$X \ A=$FStRuCtUrE.image1 \ $formatI & $xci/Sx$X \ A=$FStRuCtUrE.image1 \ $formatI | \ $xci/display$X \ xc=1 yc=0 \ $formatI & $xci/Sy$X \ A=$FStRuCtUrE.image1 \ $formatI | \ $xci/display$X \ xc=0 yc=1 \ $formatI & else endif $CA $FStRuCtUrE.all | \ $GRE -v '^ *$' | \ $R "{}" " " | \ $AW ' { print $3 "\n" $6 } ' | \ $R "," " " | \ $SE -e "s/X=//" -e "s/Y=//" -e "s/Z=//" \ >> $FStRuCtUrE if ("$FichiersXYZ" == "$K_VIDE") then set PaSsEs=10 else set PaSsEs=0 endif if ($EXIST) then # Test introduit le 20230523095546... # set COORD_X_PeRmUtEe=$COORD_Z set COORD_Y_PeRmUtEe=$COORD_Y set COORD_Z_PeRmUtEe=$COORD_X # Et ce afin d'etre compatible avec 'v $xci/valeurs_TransformationPeano3D$K 20220428110814'. # else set COORD_X_PeRmUtEe=$COORD_X set COORD_Y_PeRmUtEe=$COORD_Y set COORD_Z_PeRmUtEe=$COORD_Z endif $CA $FStRuCtUrE | \ $AW ' { print $1 } ' | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinX maximum=$MaxX | \ $xrv/lissage.01$X \ ne=0 fichier== \ passes=$PaSsEs \ > $FStRuCtUrE.9$COORD_X_PeRmUtEe $CA $FStRuCtUrE | \ $AW ' { print $2 } ' | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinY maximum=$MaxY | \ $xrv/lissage.01$X \ ne=0 fichier== \ passes=$PaSsEs \ > $FStRuCtUrE.9$COORD_Y_PeRmUtEe $CA $FStRuCtUrE | \ $AW ' { print $3 } ' | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinZ maximum=$MaxZ | \ $xrv/lissage.01$X \ ne=0 fichier== \ passes=$PaSsEs \ > $FStRuCtUrE.9$COORD_Z_PeRmUtEe set ChIfFrEs=4 $CA $FStRuCtUrE.9$COORD_X | \ $xrv/neutre$X \ ne=0 fichier== \ ChiffresFlot=$ChIfFrEs \ > $FStRuCtUrE.8$COORD_X $CA $FStRuCtUrE.9$COORD_Y | \ $xrv/neutre$X \ ne=0 fichier== \ ChiffresFlot=$ChIfFrEs \ > $FStRuCtUrE.8$COORD_Y $CA $FStRuCtUrE.9$COORD_Z | \ $xrv/neutre$X \ ne=0 fichier== \ ChiffresFlot=$ChIfFrEs \ > $FStRuCtUrE.8$COORD_Z set NpartX=`$CA $FStRuCtUrE.8$COORD_X | $WCl` set NpartY=`$CA $FStRuCtUrE.8$COORD_Y | $WCl` set NpartZ=`$CA $FStRuCtUrE.8$COORD_Z | $WCl` set Npart=`$xcg/MIN3.01$X x=$NpartX y=$NpartY z=$NpartZ` $xrv/particule.10$X \ np=1 iterations=$Npart \ LISTE_X=$FStRuCtUrE.8$COORD_X \ LISTE_Y=$FStRuCtUrE.8$COORD_Y \ LISTE_Z=$FStRuCtUrE.8$COORD_Z \ isoles=FAUX chainer=FAUX \ ajuster_points=VRAI \ equidistance=VRAI compatibilite_20051230=FAUX \ distance_minimale=$DistanceMini \ cubique=$Cubique \ RVB=VRAI \ N_AU_CARRE=VRAI \ editer_extrema_hors=FAUX \ lister_les_points=VRAI lister_les_points_apres=VRAI \ chiffres=0 \ R=$FStRuCtUrE.image2 \ $Arguments \ $formatI \ > $FStRuCtUrE.7 if ("$FichiersXYZ" == "$K_VIDE") then $CA $FStRuCtUrE.7 | \ $AW ' { print $3 } ' | \ $SE -e "s/^.*=//" | \ $xrv/selection.11$X \ ne=0 fichier== \ nombre=$COULEURS | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$NOIR maximum=$BLANC \ formater=VRAI entier=VRAI signe="$K_VIDE" \ > $FStRuCtUrE$COORD_X $CA $FStRuCtUrE.7 | \ $AW ' { print $4 } ' | \ $SE -e "s/^.*=//" | \ $xrv/selection.11$X \ ne=0 fichier== \ nombre=$COULEURS | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$NOIR maximum=$BLANC \ formater=VRAI entier=VRAI signe="$K_VIDE" \ > $FStRuCtUrE$COORD_Y $CA $FStRuCtUrE.7 | \ $AW ' { print $5 } ' | \ $SE -e "s/^.*=//" | \ $xrv/selection.11$X \ ne=0 fichier== \ nombre=$COULEURS | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$NOIR maximum=$BLANC \ formater=VRAI entier=VRAI signe="$K_VIDE" \ > $FStRuCtUrE$COORD_Z set VaLide_X=`$CA $FStRuCtUrE$COORD_X | $WCl` set VaLide_Y=`$CA $FStRuCtUrE$COORD_Y | $WCl` set VaLide_Z=`$CA $FStRuCtUrE$COORD_Z | $WCl` if (($VaLide_X == $COULEURS) && ($VaLide_Y == $COULEURS) && ($VaLide_Z == $COULEURS)) then set numeros = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR_PLANCHER vA=$COULEURS cubique=FAUX entiers=VRAI signe="$K_VIDE"`) set niveaux = (`$xci/valeurs_inte$X p=$NOIR d=$BLANC vD=$NOIR vA=$BLANC cubique=FAUX entiers=VRAI signe="$K_VIDE"`) set fonction = (`repeat $COULEURS echo "N "`) set rouge = (`$CA $FStRuCtUrE$COORD_X`) set verte = (`$CA $FStRuCtUrE$COORD_Y`) set bleue = (`$CA $FStRuCtUrE$COORD_Z`) source $xigP/.INTERPOLE$Y else EROR "Il n'a pas ete possible de generer '$COULEURS' niveaux." endif else $DELETE $FichiersXYZ$COORD_X $DELETE $FichiersXYZ$COORD_Y $DELETE $FichiersXYZ$COORD_Z $CA $FStRuCtUrE.7 | \ $AW ' { print $3 } ' | \ $SE -e "s/^.*=//" | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinX maximum=$MaxX \ > $FichiersXYZ$COORD_X $CA $FStRuCtUrE.7 | \ $AW ' { print $4 } ' | \ $SE -e "s/^.*=//" | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinY maximum=$MaxY \ > $FichiersXYZ$COORD_Y $CA $FStRuCtUrE.7 | \ $AW ' { print $5 } ' | \ $SE -e "s/^.*=//" | \ $xrv/normalise.01$X \ ne=0 fichier== \ minimum=$MinZ maximum=$MaxZ \ > $FichiersXYZ$COORD_Z $DELETE $FichiersXYZ.extremites$COORD_X $DELETE $FichiersXYZ.extremites$COORD_Y $DELETE $FichiersXYZ.extremites$COORD_Z $CA $FStRuCtUrE.8$COORD_X \ > $FichiersXYZ.extremites$COORD_X $CA $FStRuCtUrE.8$COORD_Y \ > $FichiersXYZ.extremites$COORD_Y $CA $FStRuCtUrE.8$COORD_Z \ > $FichiersXYZ.extremites$COORD_Z # La memorisation des extremites des segments a ete introduite le 20230526132633 pour # # 'v $xiirv/$Fnota Debut_listG_PEAN_Q2_G_1'... # endif FilSTmpE FStRuCtUrE