/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F O R M A T I O N   D E S   C O O R D O N N E E S  :                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrv/deforme.11$K' :                                                                                            */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20150523075229).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N T E R F A C E   ' listG '  :                                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        :Debut_listG:                                                                                                              */
/*        :Fin_listG:                                                                                                                */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I R E C T I V E S   S P E C I F I Q U E S   D E   C O M P I L A T I O N  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        V A L E U R S   I M P L I C I T E S   D E S   P A R A M E T R E S  :                                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/sequence.01.I"
                                        /* ATTENTION, on definit ainsi le symbole 'DERNIERE_IMAGE' qui ne sert a rien ici, puisque   */
                                        /* c'est en effet 'Zmax' qui joue ce role...                                                 */

#define   ALBUM_DX_PERIODISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DX_SYMETRISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DX_PROLONGER__X                                                                                                         \
                    FAUX

#define   ALBUM_DX_PERIODISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DX_SYMETRISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DX_PROLONGER__Y                                                                                                         \
                    FAUX

#define   ALBUM_DX_PERIODISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DX_SYMETRISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DX_PROLONGER__Z                                                                                                         \
                    FAUX

#define   ALBUM_DX_NIVEAU_HORS_ALBUM                                                                                                    \
                    FZERO

#define   ALBUM_DY_PERIODISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DY_SYMETRISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DY_PROLONGER__X                                                                                                         \
                    FAUX

#define   ALBUM_DY_PERIODISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DY_SYMETRISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DY_PROLONGER__Y                                                                                                         \
                    FAUX

#define   ALBUM_DY_PERIODISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DY_SYMETRISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DY_PROLONGER__Z                                                                                                         \
                    FAUX

#define   ALBUM_DY_NIVEAU_HORS_ALBUM                                                                                                    \
                    FZERO

#define   ALBUM_DZ_PERIODISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DZ_SYMETRISER_X                                                                                                         \
                    FAUX
#define   ALBUM_DZ_PROLONGER__X                                                                                                         \
                    FAUX

#define   ALBUM_DZ_PERIODISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DZ_SYMETRISER_Y                                                                                                         \
                    FAUX
#define   ALBUM_DZ_PROLONGER__Y                                                                                                         \
                    FAUX

#define   ALBUM_DZ_PERIODISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DZ_SYMETRISER_Z                                                                                                         \
                    FAUX
#define   ALBUM_DZ_PROLONGER__Z                                                                                                         \
                    FAUX

#define   ALBUM_DZ_NIVEAU_HORS_ALBUM                                                                                                    \
                    FZERO

#define   ALPHA_X                                                                                                                       \
                    FU
#define   ALPHA_Y                                                                                                                       \
                    FU
#define   ALPHA_Z                                                                                                                       \
                    FU
                                        /* Multiplicateurs des coordonnees (introduits le 20150525213903).                           */
#define   BETA__X                                                                                                                       \
                    FZERO
#define   BETA__Y                                                                                                                       \
                    FZERO
#define   BETA__Z                                                                                                                       \
                    FZERO
                                        /* Translateurs des coordonnees (introduits le 20150525213903).                              */

#define   ALPHA_DX                                                                                                                      \
                    FU
#define   ALPHA_DY                                                                                                                      \
                    FU
#define   ALPHA_DZ                                                                                                                      \
                    FU
                                        /* Multiplicateurs des deformations (introduits le 20150604110755).                          */
#define   BETA__DX                                                                                                                      \
                    FZERO
#define   BETA__DY                                                                                                                      \
                    FZERO
#define   BETA__DZ                                                                                                                      \
                    FZERO
                                        /* Translateurs des deformations (introduits le 20150604110755).                             */

#define   PONDERATION_OX_IMPLICITE                                                                                                      \
                    FZERO
#define   PONDERATION_OY_IMPLICITE                                                                                                      \
                    FZERO
#define   PONDERATION_OZ_IMPLICITE                                                                                                      \
                    FZERO
                                        /* Ponderation de selection des coordonnees apres deformation.                               */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   F I C H I E R S  :                                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrv/ARITHMET.1d.I"
#include  xrv/ARITHMET.21.I"
#include  xrv/champs_5.41.I"

#define   X_IMPLICITE                                                                                                                   \
                    FZERO
#define   Y_IMPLICITE                                                                                                                   \
                    FZERO
#define   Z_IMPLICITE                                                                                                                   \
                    FZERO

gGENERATION_D_UN_FICHIER(fichier_LISTE_X,liste_initiale_des_X);
gGENERATION_D_UN_FICHIER(fichier_LISTE_Y,liste_initiale_des_Y);
gGENERATION_D_UN_FICHIER(fichier_LISTE_Z,liste_initiale_des_Z);
                                        /* Definition en memoire des fichiers de coordonnees cartesiennes.                           */

#define   ELEMENT_DU_FICHIER_LISTE_X(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_X,index)
#define   ELEMENT_DU_FICHIER_LISTE_Y(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_Y,index)
#define   ELEMENT_DU_FICHIER_LISTE_Z(index)                                                                                             \
                    gELEMENT_DU_FICHIER(liste_initiale_des_Z,index)
                                        /* Acces a un element courant des fichiers de coordonnees cartesiennes.                      */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F O R M A T I O N   D E S   C O O R D O N N E E S  :                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(CHAR,INIC(POINTERc(nom_albumDX),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_postfixeDX),NOM_UNDEF_VIDE));
     DEFV(Int,INIT(premiere_imageDX,PREMIERE_IMAGE));
     DEFV(Int,INIT(pas_des_imagesDX,PAS_DES_IMAGES));
     DEFV(Int,INIT(nombre_de_chiffresDX,NOMBRE_DE_CHIFFRES));
                                        /* Definition de l'album des deformations selon l'axe 'OX'.                                  */
     DEFV(CHAR,INIC(POINTERc(nom_albumDY),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_postfixeDY),NOM_UNDEF_VIDE));
     DEFV(Int,INIT(premiere_imageDY,PREMIERE_IMAGE));
     DEFV(Int,INIT(pas_des_imagesDY,PAS_DES_IMAGES));
     DEFV(Int,INIT(nombre_de_chiffresDY,NOMBRE_DE_CHIFFRES));
                                        /* Definition de l'album des deformations selon l'axe 'OY'.                                  */
     DEFV(CHAR,INIC(POINTERc(nom_albumDZ),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_postfixeDZ),NOM_UNDEF_VIDE));
     DEFV(Int,INIT(premiere_imageDZ,PREMIERE_IMAGE));
     DEFV(Int,INIT(pas_des_imagesDZ,PAS_DES_IMAGES));
     DEFV(Int,INIT(nombre_de_chiffresDZ,NOMBRE_DE_CHIFFRES));
                                        /* Definition de l'album des deformations selon l'axe 'OZ'.                                  */

#include  xrv/ARITHMET.22.I"
#include  xci/valeurs.03.I"

     DEFV(Int,INIT(album_DX_periodiser_X,ALBUM_DX_PERIODISER_X));
     DEFV(Int,INIT(album_DX_symetriser_X,ALBUM_DX_SYMETRISER_X));
     DEFV(Int,INIT(album_DX_prolonger__X,ALBUM_DX_PROLONGER__X));

     DEFV(Int,INIT(album_DX_periodiser_Y,ALBUM_DX_PERIODISER_Y));
     DEFV(Int,INIT(album_DX_symetriser_Y,ALBUM_DX_SYMETRISER_Y));
     DEFV(Int,INIT(album_DX_prolonger__Y,ALBUM_DX_PROLONGER__Y));

     DEFV(Int,INIT(album_DX_periodiser_Z,ALBUM_DX_PERIODISER_Z));
     DEFV(Int,INIT(album_DX_symetriser_Z,ALBUM_DX_SYMETRISER_Z));
     DEFV(Int,INIT(album_DX_prolonger__Z,ALBUM_DX_PROLONGER__Z));

     DEFV(genere_Float,INIT(album_DX_niveau_hors_album,ALBUM_DX_NIVEAU_HORS_ALBUM));

     DEFV(Int,INIT(album_DY_periodiser_X,ALBUM_DY_PERIODISER_X));
     DEFV(Int,INIT(album_DY_symetriser_X,ALBUM_DY_SYMETRISER_X));
     DEFV(Int,INIT(album_DY_prolonger__X,ALBUM_DY_PROLONGER__X));

     DEFV(Int,INIT(album_DY_periodiser_Y,ALBUM_DY_PERIODISER_Y));
     DEFV(Int,INIT(album_DY_symetriser_Y,ALBUM_DY_SYMETRISER_Y));
     DEFV(Int,INIT(album_DY_prolonger__Y,ALBUM_DY_PROLONGER__Y));

     DEFV(Int,INIT(album_DY_periodiser_Z,ALBUM_DY_PERIODISER_Z));
     DEFV(Int,INIT(album_DY_symetriser_Z,ALBUM_DY_SYMETRISER_Z));
     DEFV(Int,INIT(album_DY_prolonger__Z,ALBUM_DY_PROLONGER__Z));

     DEFV(genere_Float,INIT(album_DY_niveau_hors_album,ALBUM_DY_NIVEAU_HORS_ALBUM));

     DEFV(Int,INIT(album_DZ_periodiser_X,ALBUM_DZ_PERIODISER_X));
     DEFV(Int,INIT(album_DZ_symetriser_X,ALBUM_DZ_SYMETRISER_X));
     DEFV(Int,INIT(album_DZ_prolonger__X,ALBUM_DZ_PROLONGER__X));

     DEFV(Int,INIT(album_DZ_periodiser_Y,ALBUM_DZ_PERIODISER_Y));
     DEFV(Int,INIT(album_DZ_symetriser_Y,ALBUM_DZ_SYMETRISER_Y));
     DEFV(Int,INIT(album_DZ_prolonger__Y,ALBUM_DZ_PROLONGER__Y));

     DEFV(Int,INIT(album_DZ_periodiser_Z,ALBUM_DZ_PERIODISER_Z));
     DEFV(Int,INIT(album_DZ_symetriser_Z,ALBUM_DZ_SYMETRISER_Z));
     DEFV(Int,INIT(album_DZ_prolonger__Z,ALBUM_DZ_PROLONGER__Z));

     DEFV(genere_Float,INIT(album_DZ_niveau_hors_album,ALBUM_DZ_NIVEAU_HORS_ALBUM));

     DEFV(Float,INIT(alpha_X,ALPHA_X));
     DEFV(Float,INIT(alpha_Y,ALPHA_Y));
     DEFV(Float,INIT(alpha_Z,ALPHA_Z));
                                        /* Multiplicateurs des coordonnees (introduits le 20150525213903).                           */
     DEFV(Float,INIT(beta__X,BETA__X));
     DEFV(Float,INIT(beta__Y,BETA__Y));
     DEFV(Float,INIT(beta__Z,BETA__Z));
                                        /* Translateurs des coordonnees (introduits le 20150525213903).                              */

     DEFV(Float,INIT(alpha_DX,ALPHA_DX));
     DEFV(Float,INIT(alpha_DY,ALPHA_DY));
     DEFV(Float,INIT(alpha_DZ,ALPHA_DZ));
                                        /* Multiplicateurs des deformations (introduits le 20150604110755).                          */
     DEFV(Float,INIT(beta__DX,BETA__DX));
     DEFV(Float,INIT(beta__DY,BETA__DY));
     DEFV(Float,INIT(beta__DZ,BETA__DZ));
                                        /* Translateurs des deformations (introduits le 20150604110755).                             */

     DEFV(Float,INIT(ponderation_OX,PONDERATION_OX_IMPLICITE));
     DEFV(Float,INIT(ponderation_OY,PONDERATION_OY_IMPLICITE));
     DEFV(Float,INIT(ponderation_OZ,PONDERATION_OZ_IMPLICITE));
                                        /* Ponderation de selection des coordonnees apres deformation.                               */
     /*..............................................................................................................................*/
#include  xrv/champs_5.1A.I"

     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(PROCESS_ARGUMENT_I("nombre_elements=""ne=",nombre_d_elements
                                           ,BLOC(VIDE;)
                                           ,BLOC(Bblock
                                                 PRINT_AVERTISSEMENT("'ne=' doit etre defini avant toute entree de fichiers");
                                                 Eblock
                                                 )
                                            );

                         PROCESS_ARGUMENTS_DE_DEFINITION_DES_FICHIERS_01;

                         PROKESF_ARGUMENT_FICHIER("LISTE_X="
                                                 ,fichier_LISTE_X
                                                 ,liste_initiale_des_X
                                                 ,X_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_Y="
                                                 ,fichier_LISTE_Y
                                                 ,liste_initiale_des_Y
                                                 ,Y_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );
                         PROKESF_ARGUMENT_FICHIER("LISTE_Z="
                                                 ,fichier_LISTE_Z
                                                 ,liste_initiale_des_Z
                                                 ,Z_IMPLICITE
                                                 ,lTRANSFORMAT_0d
                                                 ,iGENERATION_D_UN_FICHIER
                                                  );

                         GET_ARGUMENT_C("albumDX=""DX=",nom_albumDX);
                         GET_ARGUMENT_C("postfixeDX=""poDX=",nom_postfixeDX);
                         GET_ARGUMENT_I("premiereDX=""prDX=",premiere_imageDX);
                         GET_ARGUMENT_I("pasDX=""pDX=",pas_des_imagesDX);
                         GET_ARGUMENT_I("chiffresDX=""cDX=",nombre_de_chiffresDX);

                         GET_ARGUMENT_C("albumDY=""DY=",nom_albumDY);
                         GET_ARGUMENT_C("postfixeDY=""poDY=",nom_postfixeDY);
                         GET_ARGUMENT_I("premiereDY=""prDY=",premiere_imageDY);
                         GET_ARGUMENT_I("pasDY=""pDY=",pas_des_imagesDY);
                         GET_ARGUMENT_I("chiffresDY=""cDY=",nombre_de_chiffresDY);

                         GET_ARGUMENT_C("albumDZ=""DZ=",nom_albumDZ);
                         GET_ARGUMENT_C("postfixeDZ=""poDZ=",nom_postfixeDZ);
                         GET_ARGUMENT_I("premiereDZ=""prDZ=",premiere_imageDZ);
                         GET_ARGUMENT_I("pasDZ=""pDZ=",pas_des_imagesDZ);
                         GET_ARGUMENT_I("chiffresDZ=""cDZ=",nombre_de_chiffresDZ);

                         GET_ARGUMENT_L("AccelerateurALoadPoint=""AccALP="
                                       ,S_ACCELERATEUR__ALOAD_POINT_COORDONNEES_01_____utiliser_l_accelerateur
                                        );

                         GET_ARGUMENT_L("interpoler=""inter="
                                       ,FFAload_point_coordonnees_01_____interpoler_bilineairement_ou_bicubiquement
                                        );
                         GET_ARGUMENT_F("interpolerX=""interX="
                                       ,FFAload_point_coordonnees_01_____ponderation_du_barycentre_d_interpolation_X
                                        );
                         GET_ARGUMENT_F("interpolerY=""interY="
                                       ,FFAload_point_coordonnees_01_____ponderation_du_barycentre_d_interpolation_Y
                                        );
                         GET_ARGUMENT_F("interpolerZ=""interZ="
                                       ,FFAload_point_coordonnees_01_____ponderation_du_barycentre_d_interpolation_Z
                                        );
                         GET_ARGUMENT_L("lineaire=""bilineaire="
                                       ,FFAload_point_coordonnees_01_____utiliser_l_interpolation_bilineaire
                                        );
                         GET_ARGUMENT_N("cubique=""bicubique="
                                       ,FFAload_point_coordonnees_01_____utiliser_l_interpolation_bilineaire
                                        );

                         GET_ARGUMENT_L("appliquer_une_matrice_de_transformation=""matrice=""transformation="
                                       ,FFAload_point_coordonnees_01_____appliquer_une_matrice_de_transformation
                                        );
                         GET_ARGUMENT_F("mxx=""mtxx=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cx,cx));
                         GET_ARGUMENT_F("mxy=""mtxy=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cx,cy));
                         GET_ARGUMENT_F("mxz=""mtxz=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cx,cz));
                         GET_ARGUMENT_F("myx=""mtyx=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cy,cx));
                         GET_ARGUMENT_F("myy=""mtyy=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cy,cy));
                         GET_ARGUMENT_F("myz=""mtyz=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cy,cz));
                         GET_ARGUMENT_F("mzx=""mtzx=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cz,cx));
                         GET_ARGUMENT_F("mzy=""mtzy=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cz,cy));
                         GET_ARGUMENT_F("mzz=""mtzz=",ASD2(FFAload_point_coordonnees_01_____matrice_de_transformation,cz,cz));
                         GET_ARGUMENT_F("pre_atrx=",FFAload_point_coordonnees_01_____PreAntiTranslation_Xf);
                         GET_ARGUMENT_F("post_trx=",FFAload_point_coordonnees_01_____Post___Translation_Xf);
                         GET_ARGUMENT_F("pre_atry=",FFAload_point_coordonnees_01_____PreAntiTranslation_Yf);
                         GET_ARGUMENT_F("post_try=",FFAload_point_coordonnees_01_____Post___Translation_Yf);
                         GET_ARGUMENT_F("pre_atrz=",FFAload_point_coordonnees_01_____PreAntiTranslation_Zf);
                         GET_ARGUMENT_F("post_trz=",FFAload_point_coordonnees_01_____Post___Translation_Zf);

                         GET_ARGUMENT_L("pasX_pasY_pasZ=",FFAload_point_coordonnees_01_____utiliser_pasX_et_pasY_et_pasZ);
                         GET_ARGUMENT_I("pasX=",FFAload_point_coordonnees_01_____pasX);
                         GET_ARGUMENT_I("pasY=",FFAload_point_coordonnees_01_____pasY);
                         GET_ARGUMENT_I("pasZ=",FFAload_point_coordonnees_01_____pasZ);

                         GET_ARGUMENT_L("DX_periodiser_X=""DXper_X="
                                       ,album_DX_periodiser_X
                                        );
                         GET_ARGUMENT_L("DX_symetriser_X=""DXsym_X="
                                       ,album_DX_symetriser_X
                                        );
                         GET_ARGUMENT_L("DX_prolonger_X=""DXpro_X="
                                       ,album_DX_prolonger__X
                                        );
                         GET_ARGUMENT_L("DX_periodiser_Y=""DXper_Y="
                                       ,album_DX_periodiser_Y
                                        );
                         GET_ARGUMENT_L("DX_symetriser_Y=""DXsym_Y="
                                       ,album_DX_symetriser_Y
                                        );
                         GET_ARGUMENT_L("DX_prolonger_Y=""DXpro_Y="
                                       ,album_DX_prolonger__Y
                                        );
                         GET_ARGUMENT_L("DX_periodiser_Z=""DXper_Z="
                                       ,album_DX_periodiser_Z
                                        );
                         GET_ARGUMENT_L("DX_symetriser_Z=""DXsym_Z="
                                       ,album_DX_symetriser_Z
                                        );
                         GET_ARGUMENT_L("DX_prolonger_Z=""DXpro_Z="
                                       ,album_DX_prolonger__Z
                                        );
                         GET_ARGUMENT_F("DX_niveau_hors_image=""DXnhi="
                                       ,album_DX_niveau_hors_album
                                        );

                         GET_ARGUMENT_L("DY_periodiser_X=""DYper_X="
                                       ,album_DY_periodiser_X
                                        );
                         GET_ARGUMENT_L("DY_symetriser_X=""DYsym_X="
                                       ,album_DY_symetriser_X
                                        );
                         GET_ARGUMENT_L("DY_prolonger_X=""DYpro_X="
                                       ,album_DY_prolonger__X
                                        );
                         GET_ARGUMENT_L("DY_periodiser_Y=""DYper_Y="
                                       ,album_DY_periodiser_Y
                                        );
                         GET_ARGUMENT_L("DY_symetriser_Y=""DYsym_Y="
                                       ,album_DY_symetriser_Y
                                        );
                         GET_ARGUMENT_L("DY_prolonger_Y=""DYpro_Y="
                                       ,album_DY_prolonger__Y
                                        );
                         GET_ARGUMENT_L("DY_periodiser_Z=""DYper_Z="
                                       ,album_DY_periodiser_Z
                                        );
                         GET_ARGUMENT_L("DY_symetriser_Z=""DYsym_Z="
                                       ,album_DY_symetriser_Z
                                        );
                         GET_ARGUMENT_L("DY_prolonger_Z=""DYpro_Z="
                                       ,album_DY_prolonger__Z
                                        );
                         GET_ARGUMENT_F("DY_niveau_hors_image=""DYnhi="
                                       ,album_DY_niveau_hors_album
                                        );

                         GET_ARGUMENT_L("DZ_periodiser_X=""DZper_X="
                                       ,album_DZ_periodiser_X
                                        );
                         GET_ARGUMENT_L("DZ_symetriser_X=""DZsym_X="
                                       ,album_DZ_symetriser_X
                                        );
                         GET_ARGUMENT_L("DZ_prolonger_X=""DZpro_X="
                                       ,album_DZ_prolonger__X
                                        );
                         GET_ARGUMENT_L("DZ_periodiser_Y=""DZper_Y="
                                       ,album_DZ_periodiser_Y
                                        );
                         GET_ARGUMENT_L("DZ_symetriser_Y=""DZsym_Y="
                                       ,album_DZ_symetriser_Y
                                        );
                         GET_ARGUMENT_L("DZ_prolonger_Y=""DZpro_Y="
                                       ,album_DZ_prolonger__Y
                                        );
                         GET_ARGUMENT_L("DZ_periodiser_Z=""DZper_Z="
                                       ,album_DZ_periodiser_Z
                                        );
                         GET_ARGUMENT_L("DZ_symetriser_Z=""DZsym_Z="
                                       ,album_DZ_symetriser_Z
                                        );
                         GET_ARGUMENT_L("DZ_prolonger_Z=""DZpro_Z="
                                       ,album_DZ_prolonger__Z
                                        );
                         GET_ARGUMENT_F("DZ_niveau_hors_image=""DZnhi="
                                       ,album_DZ_niveau_hors_album
                                        );

                         GET_ARGUMENT_F("alpha_X=""aX=",alpha_X);
                         GET_ARGUMENT_F("alpha_Y=""aY=",alpha_Y);
                         GET_ARGUMENT_F("alpha_Z=""aZ=",alpha_Z);
                         GET_ARGUMENT_F("beta_X=""bX=",beta__X);
                         GET_ARGUMENT_F("beta_Y=""bY=",beta__Y);
                         GET_ARGUMENT_F("beta_Z=""bZ=",beta__Z);
                                        /* Arguments introduits le 20150525213903...                                                 */

                         GET_ARGUMENT_F("alpha_DX=""aDX=",alpha_DX);
                         GET_ARGUMENT_F("alpha_DY=""aDY=",alpha_DY);
                         GET_ARGUMENT_F("alpha_DZ=""aDZ=",alpha_DZ);
                         GET_ARGUMENT_F("beta_DX=""bDX=",beta__DX);
                         GET_ARGUMENT_F("beta_DY=""bDY=",beta__DY);
                         GET_ARGUMENT_F("beta_DZ=""bDZ=",beta__DZ);
                                        /* Arguments introduits le 20150604110755...                                                 */

                         GET_ARGUMENT_F("PX=""pX=""Pond1=",ponderation_OX);
                         GET_ARGUMENT_F("PY=""pY=""Pond2=",ponderation_OY);
                         GET_ARGUMENT_F("PZ=""pZ=""Pond3=",ponderation_OZ);
                                        /* Les arguments {"px=","py=","pz="} ne sont pas utilisables ici car, en effet, ils          */
                                        /* rentrent en conflit avec ce qui est defini par 'GET_ARGUMENTSi(...)'. Ils ne doivent      */
                                        /* donc pas etre confondus avec 'v $xig/fonct$vv$DEF ENTREE_ARGUMENT_pasX',                  */
                                        /* 'v $xig/fonct$vv$DEF ENTREE_ARGUMENT_pasY' et 'v $xig/fonct$vv$DEF ENTREE_ARGUMENT_pasZ'. */
                                        /*                                                                                           */
                                        /* Les arguments {"Px=","Py=","Pz="} ont ete introduits le 20150526092311...                 */

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_3;

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1;

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_5;
                                        /* Cette procedure fut introduite le 20211005105455...                                       */
                         )
                    );

     begin_nouveau_block
          Bblock
          BDEFV(albumF,albumDX);
                                        /* Definition de l'album d'images des deformations selon 'OX'...                             */

          CALi(dAloadF_album(albumDX
                            ,nom_albumDX
                            ,nom_postfixeDX
                            ,premiere_imageDX
                            ,pas_des_imagesDX
                            ,nombre_de_chiffresDX
                            ,FAUX
                            ,UNDEF
                            ,FAUX
                             )
               );
                                        /* Chargement de l'album des deformations selon 'OX'...                                      */

          Test(PAS_D_ERREUR(CODE_ERREUR))
               Bblock
               begin_nouveau_block
                    Bblock
                    BDEFV(albumF,albumDY);
                                        /* Definition de l'album d'images des deformations selon 'OY'...                             */

                    CALi(dAloadF_album(albumDY
                                      ,nom_albumDY
                                      ,nom_postfixeDY
                                      ,premiere_imageDY
                                      ,pas_des_imagesDY
                                      ,nombre_de_chiffresDY
                                      ,FAUX
                                      ,UNDEF
                                      ,FAUX
                                       )
                         );
                                        /* Chargement de l'album des deformations selon 'OY'...                                      */

                    Test(PAS_D_ERREUR(CODE_ERREUR))
                         Bblock
                         begin_nouveau_block
                              Bblock
                              BDEFV(albumF,albumDZ);
                                        /* Definition de l'album d'images des deformations selon 'OZ'...                             */

                              CALi(dAloadF_album(albumDZ
                                                ,nom_albumDZ
                                                ,nom_postfixeDZ
                                                ,premiere_imageDZ
                                                ,pas_des_imagesDZ
                                                ,nombre_de_chiffresDZ
                                                ,FAUX
                                                ,UNDEF
                                                ,FAUX
                                                 )
                                   );
                                        /* Chargement de l'album des deformations selon 'OZ'...                                      */

                              Test(PAS_D_ERREUR(CODE_ERREUR))
                                   Bblock

#define   nombre_d_exemplaires                                                                                                          \
                    nombre_d_exemplaires_du_resultat_de_l_operation_sur_les_valeurs_courantes                                           \
                                        /* Afin de raccourcir une ligne qui va suivre...                                             */

                                   gOPERATION_SUR_LES_FICHIERS(BLOC(
                                                                    DEFV(Float,INIT(coordonnee_X,ELEMENT_DU_FICHIER_LISTE_X(index)));
                                                                    DEFV(Float,INIT(coordonnee_Y,ELEMENT_DU_FICHIER_LISTE_Y(index)));
                                                                    DEFV(Float,INIT(coordonnee_Z,ELEMENT_DU_FICHIER_LISTE_Z(index)));
                                        /* Recuperation des coordonnees {X,Y,Z} courantes dans les fichiers.                         */
                                                                    DEFV(Float,INIT(coordonnee_X_transformee,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(coordonnee_Y_transformee,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(coordonnee_Z_transformee,FLOT__UNDEF));
                                        /* Coordonnees transformees.                                                                 */
                                                                    DEFV(Float,INIT(deformation_de_la_coordonnee_X,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(deformation_de_la_coordonnee_Y,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(deformation_de_la_coordonnee_Z,FLOT__UNDEF));
                                        /* Deformation des coordonnees {X,Y,Z}.                                                      */
                                                                    DEFV(Float,INIT(coordonnee_X_deformee,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(coordonnee_Y_deformee,FLOT__UNDEF));
                                                                    DEFV(Float,INIT(coordonnee_Z_deformee,FLOT__UNDEF));
                                        /* Coordonnees deformees.                                                                    */

                                                                    EGAL(coordonnee_X_transformee,AXPB(alpha_X,coordonnee_X,beta__X));
                                                                    EGAL(coordonnee_Y_transformee,AXPB(alpha_Y,coordonnee_Y,beta__Y));
                                                                    EGAL(coordonnee_Z_transformee,AXPB(alpha_Z,coordonnee_Z,beta__Z));
                                        /* Deformation des coordonnees {X,Y,Z}.                                                      */

                                                                    EGAL(deformation_de_la_coordonnee_X
                                                                        ,AXPB(alpha_DX
                                                                             ,FFAload_point_coordonnees_01(albumDX
                                                                                                          ,coordonnee_X_transformee
                                                                                                          ,coordonnee_Y_transformee
                                                                                                          ,coordonnee_Z_transformee
                                                                                                          ,album_DX_periodiser_X
                                                                                                          ,album_DX_periodiser_Y
                                                                                                          ,album_DX_periodiser_Z
                                                                                                          ,album_DX_symetriser_X
                                                                                                          ,album_DX_symetriser_Y
                                                                                                          ,album_DX_symetriser_Z
                                                                                                          ,album_DX_prolonger__X
                                                                                                          ,album_DX_prolonger__Y
                                                                                                          ,album_DX_prolonger__Z
                                                                                                          ,album_DX_niveau_hors_album
                                                                                                           )
                                                                             ,beta__DX
                                                                              )
                                                                         );
                                        /* Deformation des coordonnees 'X'.                                                          */
                                                                    EGAL(deformation_de_la_coordonnee_Y
                                                                        ,AXPB(alpha_DY
                                                                             ,FFAload_point_coordonnees_01(albumDY
                                                                                                          ,coordonnee_X_transformee
                                                                                                          ,coordonnee_Y_transformee
                                                                                                          ,coordonnee_Z_transformee
                                                                                                          ,album_DY_periodiser_X
                                                                                                          ,album_DY_periodiser_Y
                                                                                                          ,album_DY_periodiser_Z
                                                                                                          ,album_DY_symetriser_X
                                                                                                          ,album_DY_symetriser_Y
                                                                                                          ,album_DY_symetriser_Z
                                                                                                          ,album_DY_prolonger__X
                                                                                                          ,album_DY_prolonger__Y
                                                                                                          ,album_DY_prolonger__Z
                                                                                                          ,album_DY_niveau_hors_album
                                                                                                           )
                                                                             ,beta__DY
                                                                              )
                                                                         );
                                        /* Deformation des coordonnees 'Y'.                                                          */
                                                                    EGAL(deformation_de_la_coordonnee_Z
                                                                        ,AXPB(alpha_DZ
                                                                             ,FFAload_point_coordonnees_01(albumDZ
                                                                                                          ,coordonnee_X_transformee
                                                                                                          ,coordonnee_Y_transformee
                                                                                                          ,coordonnee_Z_transformee
                                                                                                          ,album_DZ_periodiser_X
                                                                                                          ,album_DZ_periodiser_Y
                                                                                                          ,album_DZ_periodiser_Z
                                                                                                          ,album_DZ_symetriser_X
                                                                                                          ,album_DZ_symetriser_Y
                                                                                                          ,album_DZ_symetriser_Z
                                                                                                          ,album_DZ_prolonger__X
                                                                                                          ,album_DZ_prolonger__Y
                                                                                                          ,album_DZ_prolonger__Z
                                                                                                          ,album_DZ_niveau_hors_album
                                                                                                           )
                                                                             ,beta__DZ
                                                                              )
                                                                         );
                                        /* Deformation des coordonnees 'Z'.                                                          */


                                                                    EGAL(coordonnee_X_deformee
                                                                        ,ADD2(coordonnee_X_transformee
                                                                             ,deformation_de_la_coordonnee_X
                                                                              )
                                                                         );
                                                                    EGAL(coordonnee_Y_deformee
                                                                        ,ADD2(coordonnee_Y_transformee
                                                                             ,deformation_de_la_coordonnee_Y
                                                                              )
                                                                         );
                                                                    EGAL(coordonnee_Z_deformee
                                                                        ,ADD2(coordonnee_Z_transformee
                                                                             ,deformation_de_la_coordonnee_Z
                                                                              )
                                                                         );
                                        /* Deformation des coordonnees {X,Y,Z} transformees.                                         */
                                                                    )
                                                              ,LIZ3(ponderation_OX,coordonnee_X_deformee
                                                                   ,ponderation_OY,coordonnee_Y_deformee
                                                                   ,ponderation_OZ,coordonnee_Z_deformee
                                                                    )
                                                              ,EDITER_LA_VALEUR_RESULTANTE_DANS_gOPERATION_SUR_LES_FICHIERS
                                                              ,nombre_d_exemplaires
                                                               );
                                        /* Deformation des coordonnees.                                                              */

#undef    nombre_d_exemplaires

                                   Eblock
                              ATes
                                   Bblock
                                   Eblock
                              ETes

                              EDEFV(albumF,albumDZ);
                                        /* Definition de l'album d'images des deformations selon 'OZ'...                             */
                              Eblock
                         end_nouveau_block
                         Eblock
                    ATes
                         Bblock
                         Eblock
                    ETes

                    EDEFV(albumF,albumDY);
                                        /* Definition de l'album d'images des deformations selon 'OY'...                             */
                    Eblock
               end_nouveau_block
               Eblock
          ATes
               Bblock
               Eblock
          ETes

          EDEFV(albumF,albumDX);
                                        /* Definition de l'album d'images des deformations selon 'OX'...                             */
          Eblock
     end_nouveau_block

     lGENERATION_D_UN_FICHIER(liste_initiale_des_Z,Z_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_Y,Y_IMPLICITE);
     lGENERATION_D_UN_FICHIER(liste_initiale_des_X,X_IMPLICITE);

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.