/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E S T I O N   D E S   F I C H I E R S  :                                                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrv/particule.22$I' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1996??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E C U P E R A T I O N   D ' U N   F I C H I E R   " L I S T E "  :                                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   PREMIER_ELEMENT_D_UNE_LISTE_VERSION_PREMIER_POINT_DES_LISTES_1                                                                \
                                        /* Afin de faire la difference entre les programmes dont les premiers elements sont          */ \
                                        /* numerotes 'PREMIER_POINT_DES_LISTES' ('v $xrv/particule.10$K') et ceux dont les premiers  */ \
                                        /* elements sont numerotes 'PREMIER_ELEMENT_D_UN_FICHIER' ('v $xrv/distance.02$K').          */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E C U P E R A T I O N   D ' U N   F I C H I E R   " L I S T E "  :                                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrv/particule.11.I"

#ifdef    GESTION_DES_LISTES_QUELCONQUES_VERSION_01
#    define    lTRANSFORMAT_12(fichier_des_transformations,liste_des_transformations,valeur_par_defaut)                                 \
                         Bblock                                                                                                         \
                         EGAL(nombre_d_iterations                                                                                       \
                             ,MIN3(nombre_d_iterations                                                                                  \
                                  ,NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION                                                          \
                                  ,NOMBRE_MAXIMAL_DE_POINTS_VISUALISABLES                                                               \
                                   )                                                                                                    \
                              );                                                                                                        \
                                        /* On notera que cette mise a jour aura lieu plusieurs fois, mais sans consequences...       */ \
                                                                                                                                        \
                         CALS(FLOAD_FICHIER_FORMATTE_Float(fichier_des_transformations                                                  \
                                                          ,liste_des_transformations                                                    \
                                                          ,nombre_d_iterations                                                          \
                                                          ,valeur_par_defaut                                                            \
                                                           )                                                                            \
                              );                                                                                                        \
                                        /* ATTENTION, jusqu'au 20010422182635, a la place de 'nombre_d_iterations', il y avait :     */ \
                                        /*                                                                                           */ \
                                        /*                  MIN3(nombre_d_iterations                                                 */ \
                                        /*                      ,NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION                         */ \
                                        /*                      ,NOMBRE_MAXIMAL_DE_POINTS_VISUALISABLES                              */ \
                                        /*                       )                                                                   */ \
                                        /*                                                                                           */ \
                                        /* et cette valeur pouvait alors se retrouver dans une definition de '__ParaLon', ce qui se  */ \
                                        /* trouvait etre incompatible avec le fonctionnement de 'v $xcc/ccp$Z' qui, etant donnee la  */ \
                                        /* definition de 'NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION' (via 'DIX_MILLE'), est        */ \
                                        /* decoupee au cours du processus, et le 'define' correspondant se retrouve sur deux         */ \
                                        /* lignes. D'ou cette solution...                                                            */ \
                         Eblock                                                                                                         \
                                        /* Recuperation d'un fichier contenant une liste de type {X,Y,Z} ou {R,V,B}.                 */
#Aifdef   GESTION_DES_LISTES_QUELCONQUES_VERSION_01
#Eifdef   GESTION_DES_LISTES_QUELCONQUES_VERSION_01

#ifdef    GESTION_DES_LISTES_QUELCONQUES_VERSION_02
#    define    lTRANSFORMAT_12(fichier_des_transformations,liste_des_transformations,valeur_par_defaut)                                 \
                         Bblock                                                                                                         \
                         gaINITIALISATION_LISTE(liste_des_transformations                                                               \
                                               ,valeur_par_defaut                                                                       \
                                               ,PREMIER_POINT_DES_LISTES                                                                \
                                               ,nombre_d_iterations                                                                     \
                                                );                                                                                      \
                                        /* Allocation de la memoire necessaire et initialisation par defaut (operation redondante    */ \
                                        /* avec celle qui est faite dans 'FLOAD_FICHIER_FORMATTE_Float(...)').                       */ \
                                                                                                                                        \
                         CALS(FLOAD_FICHIER_FORMATTE_Float(fichier_des_transformations                                                  \
                                                          ,liste_des_transformations                                                    \
                                                          ,nombre_d_iterations                                                          \
                                                          ,valeur_par_defaut                                                            \
                                                           )                                                                            \
                              );                                                                                                        \
                         Eblock                                                                                                         \
                                        /* Recuperation d'un fichier contenant une liste de type {X,Y,Z} ou {R,V,B}.                 */
#Aifdef   GESTION_DES_LISTES_QUELCONQUES_VERSION_02
#Eifdef   GESTION_DES_LISTES_QUELCONQUES_VERSION_02

                                        /* ATTENTION, a ne pas confondre :                                                           */
                                        /*                                                                                           */
                                        /* 1-'nombre_de_periodes_de_la_simulation' qui definit finalement le nombre d'images que     */
                                        /* l'on va generer et qui conditionne toutes les listes (sans exception...) definies par     */
                                        /* 'fTRANSFORMAT_31(...)', et                                                                */
                                        /*                                                                                           */
                                        /* 2-'nombre_d_iterations' qui definit le nombre de particules visualisees dans chaque       */
                                        /* image ; les listes relatives aux particules sont definies elles-aussi a l'aide de la      */
                                        /* procedure 'dTRANSFORMAT_31(...)' ce qui signifie que 'nombre_d_iterations' est limite     */
                                        /* par 'NOMBRE_MAXIMAL_DE_PERIODES_DE_LA_SIMULATION'...                                      */
                                        /*                                                                                           */
                                        /* Malgre cela, le 19970328090734 j'ai ajoute 'NOMBRE_MAXIMAL_DE_POINTS_VISUALISABLES'       */
                                        /* par mesure de securite et a cause de 'v $xrv/particule.10$K' dans lequel la variable      */
                                        /* 'nombre_d_iterations' a une signification ambigue...                                      */



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