/*************************************************************************************************************************************/ /* */ /* D E F I N I T I O N D U G E N E R A T E U R D E C H A M P : */ /* */ /* */ /* Author of '$xci/genere_ch.04$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 1994??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D U C H A M P : */ /* */ /*************************************************************************************************************************************/ #define UPD_CHAMP_S \ VRAI \ /* Valeur permettant de forcer l'UPDate des CHAMPs Standard (introduit le 20141105163755). */ #define GENERATION_DU_CHAMP_DEMANDE(Fgenerateur,nom_de_l_image,Zf,Tf,updater_les_champs_standards) \ /* Le parametre 'Tf' a ete introduit le 20100209101950... */ \ /* */ \ /* Le parametre 'updater_les_champs_standards' a ete introduit le 20141105163755,,, */ \ Bblock \ Test(EST_VRAI(les_images_sont_standards)) \ Bblock \ /* Cas d'une image 'image' : */ \ CALi(Inoir(ImageR)); \ /* Initialisation de l'image Resultat. */ \ \ CALS(Igenere_champ(ImageR \ ,amplificateur_de_la_fonction,aFONCTION(Fgenerateur),translateur_de_la_fonction \ ,ADRESSE(translation) \ ,ADRESSE(echelle) \ ,Zf \ ,Tf \ ) \ ); \ /* Concernant 'translation', voir 'v $xiii/mono_image$FON 20150403184751', suggestion */ \ /* faite le 20150403190044... */ \ \ Test(IL_FAUT(updater_les_champs_standards)) \ Bblock \ CALi(Iupdate_image(nom_de_l_image,ImageR)); \ /* A compter du 20141105163755 'Iupdate_image(...)' est conditionnel. Ceci a ete rendu */ \ /* necessaire pour 'v $xci/gauss$K GENERATION_DU_CHAMP_DEMANDE' qui fait lui-meme un */ \ /* 'Iupdate_image(...)' apres 'GENERATION_DU_CHAMP_DEMANDE(...)'. Or a cause des "pipes", */ \ /* cela est impossible... */ \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ATes \ Bblock \ /* Cas d'une image 'imageF' : */ \ CALi(IFinitialisation(IFmageR,FZERO)); \ /* Initialisation de l'image Resultat. */ \ \ CALS(IFgenere_champ(IFmageR \ ,amplificateur_de_la_fonction,aFONCTION(Fgenerateur),translateur_de_la_fonction \ ,ADRESSE(translation) \ ,ADRESSE(echelle) \ ,Zf \ ,Tf \ ) \ ); \ /* Concernant 'translation', voir 'v $xiii/mono_image$FON 20150403184751', suggestion */ \ /* faite le 20150403190044... */ \ \ CALi(IupdateF_image(nom_de_l_image,IFmageR)); \ Eblock \ ETes \ Eblock \ /* Generation du champ demande par la fonction 'Fgenerateur(...)' suivant ; */ \ /* */ \ /* NIVEAU(X,Y) = Amplificateur*Fgenerateur[(Ex.Xf + Tx),(Ey.Yf + Ty)] + Translateur */ \ /* */ \ /* ou {X,Y} designent les coordonnees du point courant et {Xf,Yf} ces memes coordonnees */ \ /* normalisees, avec : */ \ /* */ \ /* {Ex,Ey} = echelle */ \ /* {Tx,Ty} = translation */ \ /* */ \ /* et 'Amplificateur' et 'Translateur' designent 'amplificateur_de_la_fonction' */ \ /* et 'translateur_de_la_fonction' respectivement... */