/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D E   L A   L I S T E   D E S   C O O R D O N N E S   E T   D E S   N I V E A U X                    */
/*        D ' U N   A L B U M   S T A N D A R D  :                                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrv/liste_album$K' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20220523135838).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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
#include  image_image_IMAGESF_EXT

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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/album.01.I"

#define   PONDERATION_OX____                                                                                                            \
                    FZERO
#define   PONDERATION_OY____                                                                                                            \
                    FZERO
#define   PONDERATION_OZ____                                                                                                            \
                    FZERO
#define   PONDERATION_NIVEAU                                                                                                            \
                    FZERO
                                        /* Ponderation de selection des coordonnees et des niveaux...                                */

#define   ELIMINER_UN_NIVEAU                                                                                                            \
                    VRAI
#define   NIVEAU_A_ELIMINER                                                                                                             \
                    NOIR
                                        /* Par defaut les points {X,Y,Z} de niveau 'NOIR' sont elimines...                           */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D E   L A   L I S T E   D E S   C O O R D O N N E S   E T   D E S   N I V E A U X                    */
/*        D ' U N   A L B U M   S T A N D A R D  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
#include  xrv/ARITHMET.22.I"
#include  xci/valeurs.03.I"

     DEFV(CHAR,INIT(POINTERc(nom_imageA),NOM_PIPE_Local));
                                        /* Nom de l'album a lister...                                                                */

     DEFV(CHAR,INIC(POINTERc(nom_postfixe),NOM_UNDEF_VIDE));
                                        /* Nom d'un eventuel postfixe a placer derriere <nom_imageA><numero> (par exemple '$ROUGE'). */
     DEFV(Int,INIT(premiere_image,PREMIERE_IMAGE));
                                        /* Numero de la premiere image,                                                              */
     DEFV(Int,INIT(pas_des_images,PAS_DES_IMAGES));
                                        /* Pas de passage d'un numero d'image a une autre.                                           */
     DEFV(Int,INIT(nombre_de_chiffres,NOMBRE_DE_CHIFFRES));
                                        /* Nombre de chiffres codant le numero des images de la serie...                             */

     DEFV(Float,INIT(ponderation_OX____,PONDERATION_OX____));
     DEFV(Float,INIT(ponderation_OY____,PONDERATION_OY____));
     DEFV(Float,INIT(ponderation_OZ____,PONDERATION_OZ____));
     DEFV(Float,INIT(ponderation_NIVEAU,PONDERATION_NIVEAU));
                                        /* Ponderation de selection des coordonnees et des niveaux...                                */

     DEFV(Logical,INIT(eliminer_un_niveau,ELIMINER_UN_NIVEAU));
     DEFV(genere_p,INIT(niveau_a_eliminer,NIVEAU_A_ELIMINER));
                                        /* Par defaut les points {X,Y,Z} de niveau 'NOIR' sont elimines...                           */
     /*..............................................................................................................................*/
     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
                                                 )
                                            );

                         GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("postfixe=",nom_postfixe);
                         GET_ARGUMENT_I("premiere=",premiere_image);
                         GET_ARGUMENT_I("pas=",pas_des_images);
                         GET_ARGUMENT_I("chiffres=",nombre_de_chiffres);

                         GET_ARGUMENT_F("ponderation_OX=""pX=",ponderation_OX____);
                         GET_ARGUMENT_F("ponderation_OY=""pY=",ponderation_OY____);
                         GET_ARGUMENT_F("ponderation_OZ=""pZ=",ponderation_OZ____);
                         GET_ARGUMENT_F("ponderation_niveau=""pn=",ponderation_NIVEAU);

                         GET_ARGUMENT_L("eliminer_niveau=""en=",eliminer_un_niveau);
                         GET_ARGUMENT_P("niveau=""ni=",niveau_a_eliminer);
                         )
                    );

     begin_nouveau_block
          Bblock
          BDEFV(album,album_d_images);
                                        /* Definition de l'album d'images a lister...                                                */
          CALi(dAload_album(album_d_images
                           ,nom_imageA
                           ,nom_postfixe
                           ,premiere_image
                           ,pas_des_images
                           ,nombre_de_chiffres
                           ,FAUX
                           ,UNDEF
                           ,FAUX
                            )
               );

          Test(PAS_D_ERREUR(CODE_ERREUR))
               Bblock
               begin_album
                    Bblock
                    DEFV(genere_p,INIT(niveau_courant,Aload_point(album_d_images,X,Y,Z)));

                    Test(IFOU(IL_NE_FAUT_PAS(eliminer_un_niveau)
                             ,IFET(IL_FAUT(eliminer_un_niveau)
                                  ,IFNE(niveau_courant,niveau_a_eliminer)
                                   )
                              )
                         )
                         Bblock
                         EDITION_DANS_gOPERATION_SUR_LES_FICHIERS_AVEC_SAUT_DE_LIGNE(LIZ4(ponderation_OX____,_____cNORMALISE_OX(X)
                                                                                         ,ponderation_OY____,_____cNORMALISE_OY(Y)
                                                                                         ,ponderation_OZ____,_____cNORMALISE_OZ(Z)
                                                                                         ,ponderation_NIVEAU,niveau_courant
                                                                                          )
                                                                                     );
                         Eblock
                    ATes
                         Bblock
                         Eblock
                    ETes
                    Eblock
               end_album
               Eblock
          ATes
               Bblock
               Test__CODE_ERREUR__ERREUR07;
               Eblock
          ETes

          EDEFV(album,album_d_images);
                                        /* Definition de l'album d'images a lister...                                                */

          Eblock
     end_nouveau_block

     RETU_Commande;
     Eblock
ECommande



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