####################################################################################################################################### # # # 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 S E Q U E N T I E L L E ) : # # # # # # Author of '$xivP/disk.000000009/face.2/.REFL.A.14.2.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20070418141309). # # # ####################################################################################################################################### $Z setParam _____Palette $xiP/cercle.35 $Z # Introduit le 20070602095531 pour 'v $xiirk/$Fnota .xiirk.DIFZ.11'... # $X echo "neutre" $X # commande destinee uniquement a eviter la concatenation du 'main(...)' qui suit et de # $X # l'eventuel 'main(...)' qui precede ('v $xivP_d09_f2/.REFL.A.14.2.$U main'). # $X # L'essentiel etant donc d'avoir un marqueur ('$X') different de '$c' entre le groupe '$xc' # $X # eventuel qui precede et le groupe '$xc' qui suit, et ce afin donc d'eviter cette # $X # concatenation et donc deux 'main(...)'s dans le meme programme... # $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 int main() $c { $c int n; $c $c printf("$DELETE $xTV/MINIMUM\n"); $c printf("$DELETE $xTV/MAXIMUM\n"); $c $c for (n=NA0 ; n<=NA ; n++) $c { $c printf("if ($_____Kcarte == $EXIST) then\n"); $c printf(" $xcg/float_Float$X $c A=$_____imagesWW.%04d $c Attendre=VRAI ErreurLecture=FAUX $c R=$_____imagesWW.%04d $c $formatI\n" $c ,n $c ,n $c ); $c /* Les arguments "Attendre=VRAI ErreurLecture=FAUX" ont ete introduits le 20070425113027 */ $c /* afin de permettre la synchronisation sur l'existence des fichiers dans le cas d'un */ $c /* fonctionnement en mode parallele... */ $c printf("else\n"); $c printf("endif\n"); $c $c printf("$xci/extrema$X $c A=$_____imagesWW.%04d $c standard=FAUX $c minimum=VRAI $c maximum=FAUX $c Attendre=VRAI ErreurLecture=FAUX $c Prme=VRAI $c $formatI $c >>! $xTV/MINIMUM\n" $c ,n $c ); $c /* Les arguments "Attendre=VRAI ErreurLecture=FAUX" ont ete introduits le 20070425111917 */ $c /* afin de permettre la synchronisation sur l'existence des fichiers dans le cas d'un */ $c /* fonctionnement en mode parallele... */ $c /* */ $c /* L'option "Prme=VRAI" a ete introduite le 20150221113235 afin de pouvoir remplacer */ $c /* ">>&!" par ">>!"... */ #20150221095233____:$c printf("saut # #20150221095233____:$c >>&! $xTV/MINIMUM\n" # #20150221095233____:$c ); # $c printf("$xci/extrema$X $c A=$_____imagesWW.%04d $c standard=FAUX $c minimum=FAUX $c maximum=VRAI $c Attendre=VRAI ErreurLecture=FAUX $c Prme=VRAI $c $formatI $c >>! $xTV/MAXIMUM\n" $c ,n $c ); $c /* Les arguments "Attendre=VRAI ErreurLecture=FAUX" ont ete introduits le 20070425111917 */ $c /* afin de permettre la synchronisation sur l'existence des fichiers dans le cas d'un */ $c /* fonctionnement en mode parallele... */ $c /* */ $c /* L'option "Prme=VRAI" a ete introduite le 20150221113235 afin de pouvoir remplacer */ $c /* ">>&!" par ">>!"... */ #20150221095233____:$c printf("saut # #20150221095233____:$c >>&! $xTV/MAXIMUM\n" # #20150221095233____:$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 /* Extraction des extrema de chacune des cartes. */ $c } $c $c printf("set MinC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MINIMUM | $GRE '^minimum=' | $SE -e 's/^.*=//'`\n"); $c printf("set MaxC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MAXIMUM | $GRE '^maximum=' | $SE -e 's/^.*=//'`\n"); $c /* Extraction des extrema de l'ensemble des cartes. */ $c $c for (n=NA0 ; n<=NA ; n++) $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 $c printf("$xci/acces$X $c A=$_____imagesWW.%04d $c standard=FAUX $c extrema=FAUX $c minimum=$MinC $c maximum=$MaxC $c tronquer=FAUX $c R=$_____imagesD.%04d $c $formatI\n" $c ,n $c ,n $c ); $c /* Et enfin conversion "standard" avec renormalisation globale... */ $c $c printf("$xci/vraies_C$X $c A=$_____imagesD.%04d $c p=$_____Palette $c RVB=VRAI $c R=$_____imagesD.%04d $c $formatI\n" $c ,n $c ,n $c ); $c /* Puis conversion en vraies couleurs... */ $c } $c } $Z $DELETE $xTV/LISTE_POINTS.REDUITE $Z # On notera que l'on ne fait pas : # $Z # # $Z # $DELETE $xTV/LISTE_POINTS # $Z # # $Z # car il est preferable de garder a priori ce fichier qui est en general long a generer... # $Z $DELETE $xTV/COORDONNEES$COORD_X $Z $DELETE $xTV/COORDONNEES$COORD_Y $Z $DELETE $xTV/COORDONNEES$COORD_Z $Z $DELETE $xTV/MINIMUM $Z $DELETE $xTV/MAXIMUM