/*************************************************************************************************************************************/
/* */
/* G E S T I O N D E L ' I N T E R A C T I O N S T A N D A R D : */
/* */
/* */
/* Author of '$xrs/hyper_volumes.13$I' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20230210102910). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* A C C E S A U X F I C H I E R S P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#include xrs/hyper_volumes.33.I"
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E S T I O N D E S P R I M I T I V E S D E V I S U A L I S A T I O N S T A N D A R D S : */
/* */
/*************************************************************************************************************************************/
#define PROCESS_ARGUMENTS_DE_TRANSFORMATION_DE_u_v_w_t \
Bblock \
\
DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
GET_ARGUMENT_L("tore_u=",gestion_torique_de_u); \
GET_ARGUMENT_L("tore_v=",gestion_torique_de_v); \
GET_ARGUMENT_L("tore_w=",gestion_torique_de_w); \
GET_ARGUMENT_L("tore_t=",gestion_torique_de_t); \
\
GET_ARGUMENT_L("u_v_w_t_arbitraires=""uvwta=",definir_arbitrairement_les_coordonnees_u_v_w_t); \
\
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_F("separateur_u_v_w_t=""suvwt=",separateur_de_definition_arbitraire_des_coordonnees_u_v_w_t); \
/* Cette possibilite a ete introduite le 20230217102122... */ \
\
PROKESF_ARGUMENT_FICHIER("coordonnees_u=" \
,fichier_des_coordonnees_u \
,liste_des_coordonnees_u \
,COORDONNEE_u_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
PROKESF_ARGUMENT_FICHIER("coordonnees_v=" \
,fichier_des_coordonnees_v \
,liste_des_coordonnees_v \
,COORDONNEE_v_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
PROKESF_ARGUMENT_FICHIER("coordonnees_w=" \
,fichier_des_coordonnees_w \
,liste_des_coordonnees_w \
,COORDONNEE_w_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
PROKESF_ARGUMENT_FICHIER("coordonnees_t=" \
,fichier_des_coordonnees_t \
,liste_des_coordonnees_t \
,COORDONNEE_t_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
\
PROKESF_ARGUMENT_FICHIER("coordonnees_ROUGE=" \
,fichier_des_coordonnees_ROUGE \
,liste_des_coordonnees_ROUGE \
,COORDONNEE_ROUGE_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
PROKESF_ARGUMENT_FICHIER("coordonnees_VERTE=" \
,fichier_des_coordonnees_VERTE \
,liste_des_coordonnees_VERTE \
,COORDONNEE_VERTE_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
PROKESF_ARGUMENT_FICHIER("coordonnees_BLEUE=" \
,fichier_des_coordonnees_BLEUE \
,liste_des_coordonnees_BLEUE \
,COORDONNEE_BLEUE_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
\
PROKESF_ARGUMENT_FICHIER("coordonnees_RAYON=" \
,fichier_des_coordonnees_RAYON \
,liste_des_coordonnees_RAYON \
,COORDONNEE_RAYON_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
/* Introduit le 20240517141313... */ \
\
PROKESF_ARGUMENT_FICHIER("coordonnees_MASSE=" \
,fichier_des_coordonnees_MASSE \
,liste_des_coordonnees_MASSE \
,COORDONNEE_MASSE_IMPLICITE \
,lTRANSFORMAT_0d \
,iGENERATION_D_UN_FICHIER \
); \
/* Introduit le 20240519091200... */ \
\
FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
Eblock
#define PROCESS_ARGUMENTS_DE_DEFINITION_DES_COORDONNEES_CURVILIGNES \
Bblock \
\
DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
GET_ARGUMENT_L("luvwt=""lister_u_v_w_t=",lister_les_coordonnees_u_v_w_t_des_points); \
\
GET_ARGUMENT_F("mu=",minimum_de_u); \
GET_ARGUMENT_F("Mu=",maximum_de_u); \
GET_ARGUMENT_F("pas_u=""pu=",pas_de_u); \
GET_ARGUMENT_I("eu=",echantillonnage_de_u); \
GET_ARGUMENT_I("teu=",translation_de_l_echantillonnage_de_u); \
GET_ARGUMENT_F("dpu=",diviseur_du_pas_de_u); \
\
GET_ARGUMENT_F("mv=",minimum_de_v); \
GET_ARGUMENT_F("Mv=",maximum_de_v); \
GET_ARGUMENT_F("pas_v=""pv=",pas_de_v); \
GET_ARGUMENT_I("ev=",echantillonnage_de_v); \
GET_ARGUMENT_I("tev=",translation_de_l_echantillonnage_de_v); \
GET_ARGUMENT_F("dpv=",diviseur_du_pas_de_v); \
\
GET_ARGUMENT_F("mw=",minimum_de_w); \
GET_ARGUMENT_F("Mw=",maximum_de_w); \
GET_ARGUMENT_F("pas_w=""pw=",pas_de_w); \
GET_ARGUMENT_I("ew=",echantillonnage_de_w); \
GET_ARGUMENT_I("tew=",translation_de_l_echantillonnage_de_w); \
GET_ARGUMENT_F("dpw=",diviseur_du_pas_de_w); \
\
GET_ARGUMENT_F("mt=",minimum_de_t); \
GET_ARGUMENT_F("Mt=",maximum_de_t); \
GET_ARGUMENT_F("pas_t=""pt=",pas_de_t); \
GET_ARGUMENT_I("et=",echantillonnage_de_t); \
GET_ARGUMENT_I("tet=",translation_de_l_echantillonnage_de_t); \
GET_ARGUMENT_F("dpt=",diviseur_du_pas_de_t); \
\
GET_ARGUMENT_I("nombre_inter_paralleles=""niu=",nombre_d_inters_u); \
GET_ARGUMENT_I("nombre_points_entre_deux_paralleles=""npu=",nombre_de_points_dans_un_inter_u); \
GET_ARGUMENT_I("nombre_inter_meridiens=""niv=",nombre_d_inters_v); \
GET_ARGUMENT_I("nombre_points_entre_deux_meridiens=""npv=",nombre_de_points_dans_un_inter_v); \
GET_ARGUMENT_I("nombre_inter_profondeurs=""niw=",nombre_d_inters_w); \
GET_ARGUMENT_I("nombre_points_entre_deux_profondeurs=""npw=",nombre_de_points_dans_un_inter_w); \
GET_ARGUMENT_I("nombre_inter_temps=""nit=",nombre_d_inters_t); \
GET_ARGUMENT_I("nombre_points_entre_deux_temps=""npt=",nombre_de_points_dans_un_inter_t); \
PROCESS_ARGUMENT_L("faciliter_parametrage_u_v_w_t=""fpuvwt=" \
,faciliter_le_parametrage_de_u_v_w_t \
,BLOC(VIDE;) \
,BLOC(Bblock \
Test(IL_FAUT(faciliter_le_parametrage_de_u_v_w_t)) \
Bblock \
\
EGAL(nombre_de_points_dans_un_inter_u \
,MAX2(nombre_de_points_dans_un_inter_u,NOMBRE_DE_POINTS_DANS_UN_INTER_u) \
); \
EGAL(pas_de_u,DIVI(SOUS(maximum_de_u,minimum_de_u),FLOT(nombre_d_inters_u))); \
EGAL(echantillonnage_de_u,nombre_de_points_dans_un_inter_u); \
EGAL(diviseur_du_pas_de_u,FLOT(nombre_de_points_dans_un_inter_u)); \
\
EGAL(nombre_de_points_dans_un_inter_v \
,MAX2(nombre_de_points_dans_un_inter_v,NOMBRE_DE_POINTS_DANS_UN_INTER_v) \
); \
EGAL(pas_de_v,DIVI(SOUS(maximum_de_v,minimum_de_v),FLOT(nombre_d_inters_v))); \
EGAL(echantillonnage_de_v,nombre_de_points_dans_un_inter_v); \
EGAL(diviseur_du_pas_de_v,FLOT(nombre_de_points_dans_un_inter_v)); \
\
EGAL(nombre_de_points_dans_un_inter_w \
,MAX2(nombre_de_points_dans_un_inter_w,NOMBRE_DE_POINTS_DANS_UN_INTER_w) \
); \
EGAL(pas_de_w,DIVI(SOUS(maximum_de_w,minimum_de_w),FLOT(nombre_d_inters_w))); \
EGAL(echantillonnage_de_w,nombre_de_points_dans_un_inter_w); \
EGAL(diviseur_du_pas_de_w,FLOT(nombre_de_points_dans_un_inter_w)); \
\
EGAL(nombre_de_points_dans_un_inter_t \
,MAX2(nombre_de_points_dans_un_inter_t,NOMBRE_DE_POINTS_DANS_UN_INTER_t) \
); \
EGAL(pas_de_t,DIVI(SOUS(maximum_de_t,minimum_de_t),FLOT(nombre_d_inters_t))); \
EGAL(echantillonnage_de_t,nombre_de_points_dans_un_inter_t); \
EGAL(diviseur_du_pas_de_t,FLOT(nombre_de_points_dans_un_inter_t)); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
) \
); \
\
FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
Eblock
#define PROCESS_ARGUMENTS_DE_DERIVATION_PARTIELLE_NUMERIQUE \
Bblock \
\
DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
GET_ARGUMENT_L("hddu=",le_pas_de_u_de_differentiation_est_homothetique); \
GET_ARGUMENT_L("hddv=",le_pas_de_v_de_differentiation_est_homothetique); \
GET_ARGUMENT_L("hddw=",le_pas_de_w_de_differentiation_est_homothetique); \
GET_ARGUMENT_L("hddt=",le_pas_de_t_de_differentiation_est_homothetique); \
\
GET_ARGUMENT_F("ddu=",diviseur_de_differentiation_de_u); \
GET_ARGUMENT_F("ddv=",diviseur_de_differentiation_de_v); \
GET_ARGUMENT_F("ddw=",diviseur_de_differentiation_de_w); \
GET_ARGUMENT_F("ddt=",diviseur_de_differentiation_de_t); \
\
GET_ARGUMENT_F("dxdu=",facteur_x_de_pas_de_u); \
GET_ARGUMENT_F("dxdv=",facteur_x_de_pas_de_v); \
GET_ARGUMENT_F("dxdw=",facteur_x_de_pas_de_w); \
GET_ARGUMENT_F("dxdt=",facteur_x_de_pas_de_t); \
\
GET_ARGUMENT_F("dydu=",facteur_y_de_pas_de_u); \
GET_ARGUMENT_F("dydv=",facteur_y_de_pas_de_v); \
GET_ARGUMENT_F("dydw=",facteur_y_de_pas_de_w); \
GET_ARGUMENT_F("dydt=",facteur_y_de_pas_de_t); \
\
GET_ARGUMENT_F("dzdu=",facteur_z_de_pas_de_u); \
GET_ARGUMENT_F("dzdv=",facteur_z_de_pas_de_v); \
GET_ARGUMENT_F("dzdw=",facteur_z_de_pas_de_w); \
GET_ARGUMENT_F("dzdt=",facteur_z_de_pas_de_t); \
\
FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
Eblock
#define PROCESS_ARGUMENTS_DE_COLORIAGE \
Bblock \
\
DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
GET_ARGUMENT_F("dxFx=",ponderation_de__x_____dans_dx); \
GET_ARGUMENT_F("dxFy=",ponderation_de__y_____dans_dx); \
GET_ARGUMENT_F("dxFz=",ponderation_de__z_____dans_dx); \
GET_ARGUMENT_F("pxu=""dxu=",ponderation_de__u_____dans_dx); \
GET_ARGUMENT_F("pxv=""dxv=",ponderation_de__v_____dans_dx); \
GET_ARGUMENT_F("pxw=""dxw=",ponderation_de__w_____dans_dx); \
GET_ARGUMENT_F("pxt=""dxt=",ponderation_de__t_____dans_dx); \
GET_ARGUMENT_F("pxx=""dxFxuvwt=",ponderation_de_dx_____dans_dx); \
GET_ARGUMENT_F("pxy=""dxFyuvwt=",ponderation_de_dy_____dans_dx); \
GET_ARGUMENT_F("pxz=""dxFzuvwt=",ponderation_de_dz_____dans_dx); \
\
GET_ARGUMENT_F("dyFx=",ponderation_de__x_____dans_dy); \
GET_ARGUMENT_F("dyFy=",ponderation_de__y_____dans_dy); \
GET_ARGUMENT_F("dyFz=",ponderation_de__z_____dans_dy); \
GET_ARGUMENT_F("pyu=""dyu=",ponderation_de__u_____dans_dy); \
GET_ARGUMENT_F("pyv=""dyv=",ponderation_de__v_____dans_dy); \
GET_ARGUMENT_F("pyw=""dyw=",ponderation_de__w_____dans_dy); \
GET_ARGUMENT_F("pyt=""dyt=",ponderation_de__t_____dans_dy); \
GET_ARGUMENT_F("pyx=""dyFxuvwt=",ponderation_de_dx_____dans_dy); \
GET_ARGUMENT_F("pyy=""dyFyuvwt=",ponderation_de_dy_____dans_dy); \
GET_ARGUMENT_F("pyz=""dyFzuvwt=",ponderation_de_dz_____dans_dy); \
\
GET_ARGUMENT_F("dzFx=",ponderation_de__x_____dans_dz); \
GET_ARGUMENT_F("dzFy=",ponderation_de__y_____dans_dz); \
GET_ARGUMENT_F("dzFz=",ponderation_de__z_____dans_dz); \
GET_ARGUMENT_F("pzu=""dzu=",ponderation_de__u_____dans_dz); \
GET_ARGUMENT_F("pzv=""dzv=",ponderation_de__v_____dans_dz); \
GET_ARGUMENT_F("pzw=""dzw=",ponderation_de__w_____dans_dz); \
GET_ARGUMENT_F("pzt=""dzt=",ponderation_de__t_____dans_dz); \
GET_ARGUMENT_F("pzx=""dzFxuvwt=",ponderation_de_dx_____dans_dz); \
GET_ARGUMENT_F("pzy=""dzFyuvwt=",ponderation_de_dy_____dans_dz); \
GET_ARGUMENT_F("pzz=""dzFzuvwt=",ponderation_de_dz_____dans_dz); \
\
FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
Eblock
#define PROCESS_ARGUMENTS_DE_PERMUTATION_DES_COORDONNEES_ET_DES_DIFFERENTIELLES \
Bblock \
\
DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
GET_ARGUMENT_L("permuter_coordonnees_differentielles=""pcd=",permuter_les_coordonnees_et_les_differentielles); \
\
FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES; \
\
Eblock