#######################################################################################################################################
# #
# G E N E R A T I O N D E C A R T E S D E D E N S I T E B I D I M E N S I O N N E L L E S #
# A V E C A J U S T E M E N T A U T O M A T I Q U E #
# ( V E R S I O N P A R A L L E L E M U L T I - M A C H I N E S , P A R T I E P A R A L L E L E ) : #
# #
# #
# Author of '$xivP/disk.000000009/face.2/.REFL.A.14.1.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20070417114002). #
# #
#######################################################################################################################################
$Z setParam _____imagesWW $xTV/REFL.Wb
$Z setParam _____DParallele $xT
$Z # Introduit le 20070418091748. En effet, dans le cas d'une utilisation de type "parallele" #
$Z # '$xTV' est en general defini par '$xBTG' ('$xTC' apres le 20070608085951) et est donc #
$Z # commun a toutes les MACHINEs. Il est alors essentiel que les fichiers 'COORDONNEES$COORD_?' #
$Z # soient locaux a chaque MACHINE ; une definition du type '$xT' s'impose donc... #
$Z setParam _____EspaceTore FAUX
$Z setParam _____EspaceToreX VRAI
$Z # Introduit le 20070424110418... #
$Z setParam _____EspaceToreY VRAI
$Z # Introduit le 20070424110418... #
$Z setParam _____EspaceToreZ VRAI
$Z # Introduit le 20070424110418... #
$Z setParam _____Rcarte FAUX
$Z setParam _____GCcarte FAUX
$Z if ($?_____Scarte == $NEXIST) then
$Z else
$Z EROR "Le parametre '"'$_____Scarte'"' est remplace par "'{$_____MINcarte,$_____MAXcarte}.'""
$Z # Introduit le 20070506184447... #
$Z endif
$Z setParam _____MINcarte `GetParam $xrv/densite.01$X minimum`
$Z # Introduit le 20070506184447... #
$Z setParam _____MAXcarte `GetParam $xrv/densite.01$X maximum`
$Z # '$_____MAXcarte' a remplace '$_____Scarte' le 20070506184447... #
$Z setParam _____FDcarte 1
$Z setParam _____FEcarte 200
$Z setParam _____Kcarte $NEXIST
$Z setParam _____Palette $xiP/cercle.35
$X echo "neutre"
$X # commande destinee uniquement a mettre a jour l'environnement 'env'... #
$c #include <stdio.h>
$c
$c extern int atoi();
$c extern char *getenv();
$c
$c #define NA0 (atoi(getenv("PremiereA")))
$c #define NA (atoi(getenv("DerniereA")))
$c
$c #define E_CARTE 2
$c /* Exposant des distances dans l'exponentielle. */
$c
$c int main()
$c {
$c int n;
$c
$c for (n=NA0 ; n<=NA ; n++)
$c {
$c printf("if (`$xcg/parallele.01$X verrou=$_____imagesWW.%04d` == $EXIST) then\n"
$c ,n
$c );
$c /* Gestion du parallelisme... */
$c printf(" $DELETE $_____DParallele/COORDONNEES$COORD_X\n");
$c printf(" $DELETE $_____DParallele/COORDONNEES$COORD_Y\n");
$c printf(" $DELETE $_____DParallele/COORDONNEES$COORD_Z\n");
$c
$c printf(" $CA $xTV/LISTE_POINTS.REDUITE |
$c $GRE 'periode=%d ' |
$c $SE -e 's/^.* X=//'
$c -e 's/ .*$//' |
$c $xrv/neutre$X
$c ne=0
$c fichier='='
$c formater=VRAI decimales=8
$c > $_____DParallele/COORDONNEES$COORD_X\n"
$c ,n
$c ,'"','"'
$c );
$c printf(" $CA $xTV/LISTE_POINTS.REDUITE |
$c $GRE 'periode=%d ' |
$c $SE -e 's/^.* Y=//'
$c -e 's/ .*$//' |
$c $xrv/neutre$X
$c ne=0
$c fichier='='
$c formater=VRAI decimales=8
$c > $_____DParallele/COORDONNEES$COORD_Y\n"
$c ,n
$c ,'"','"'
$c );
$c printf(" $CA $xTV/LISTE_POINTS.REDUITE |
$c $GRE 'periode=%d ' |
$c $SE -e 's/^.* Z=//'
$c -e 's/ .*$//' |
$c $xrv/neutre$X
$c ne=0
$c fichier='='
$c formater=VRAI decimales=8
$c > $_____DParallele/COORDONNEES$COORD_Z\n"
$c ,n
$c ,'"','"'
$c );
$c /* L'utilisation de 'decimales=8' permet de traiter proprement le probleme du aux erreurs */
$c /* d'arrondi ('v _____xivPdf_09_2/.REFL.w.12.$U arrondi'). */
$c
$c printf(" set ParticlX=`$WC $_____DParallele/COORDONNEES$COORD_X`\n");
$c printf(" set ParticlX=$ParticlX[$WC1]\n");
$c printf(" set ParticlY=`$WC $_____DParallele/COORDONNEES$COORD_Y`\n");
$c printf(" set ParticlY=$ParticlY[$WC1]\n");
$c printf(" set ParticlZ=`$WC $_____DParallele/COORDONNEES$COORD_Z`\n");
$c printf(" set ParticlZ=$ParticlZ[$WC1]\n");
$c
#20220615105807____:$c printf(" set Particules=`$xcg/MAX3.01$X x=$ParticlX y=$ParticlY z=$ParticlZ`\n"); #
$c printf(" set Particules=`$xcg/MIN3.01$X x=$ParticlX y=$ParticlY z=$ParticlZ`\n");
$c
$c printf(" $xrv/densite.01$X
$c ne=$Particules
$c LISTE_X=$_____DParallele/COORDONNEES$COORD_X
$c LISTE_Y=$_____DParallele/COORDONNEES$COORD_Y
$c LISTE_Z=$_____DParallele/COORDONNEES$COORD_Z
$c torique=$_____EspaceTore
$c toriqueX=$_____EspaceToreX
$c toriqueY=$_____EspaceToreY
$c toriqueZ=$_____EspaceToreZ
$c rectangulaire=$_____Rcarte
$c grand_carre=$_____GCcarte
$c Eexposant=%f
$c minimum=$_____MINcarte
$c maximum=$_____MAXcarte
$c facteur=$_____FDcarte
$c Efacteur=$_____FEcarte
$c R=$_____imagesWW.%04d
$c $formatI\n"
$c ,(double)E_CARTE
$c ,n
$c );
$c
$c printf(" if ($_____Kcarte == $EXIST) then\n");
$c printf(" $xcg/Float_float$X
$c A=$_____imagesWW.%04d
$c R=$_____imagesWW.%04d
$c $formatI\n"
$c ,n
$c ,n
$c );
$c printf(" else\n");
$c printf(" endif\n");
$c /* Generation de la carte de densite. */
$c printf("else\n");
$c printf("endif\n");
$c }
$c }