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



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.