/*************************************************************************************************************************************/
/* */
/* 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... */