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