/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S D E Q U E L Q U E S P R O C E D U R E S N E C E S S A I R E S */
/* A L ' E T U D E D E L ' A T O M E D ' H Y D R O G E N E : */
/* */
/* */
/* Author of '$xrq/Hspherik.15$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 1993??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* L I M I T A T I O N D U R A Y O N D E V I S U A L I S A T I O N : */
/* */
/*************************************************************************************************************************************/
#TestADef RAYON_MINIMAL_DE_VISUALISATION \
FRA10(FRA10(FU)) \
/* Rayon minimal du disque materialisant une iteration. ATTENTION : cette constante ne */ \
/* peut etre exprimee en fonction de 'RAYON_DE_VISUALISATION', car en effet, la premiere */ \
/* est plutot liee a l'image, alors que la seconde est plutot liee au modele... */
#define RAYON_MAXIMAL_DE_VISUALISATION \
GRO2(GRO10(RAYON_MINIMAL_DE_VISUALISATION)) \
/* Rayon maximal du disque materialisant une iteration. */
DEFV(Local,DEFV(Float,INIT(plus_grand_rayon_rencontre,F_MOINS_L_INFINI)));
/* Afin de savoir si un ou plusieurs rayons trop grands ont ete rencontres... */
#define LIMITATION_DU_RAYON_DE_VISUALISATION \
Bblock \
EGAL(plus_grand_rayon_rencontre \
,MAX2(rayon_de_visualisation \
,plus_grand_rayon_rencontre \
) \
); \
/* On recherche le plus rayon de visualisation rencontre... */ \
EGAL(rayon_de_visualisation \
,TRON(rayon_de_visualisation \
,RAYON_MINIMAL_DE_VISUALISATION \
,RAYON_MAXIMAL_DE_VISUALISATION \
) \
); \
/* Et on fait en sorte qu'il ne soit pas trop petit... */ \
Eblock \
/* Limitation du rayon de visualisation, et preparation de l'edition d'un eventuel */ \
/* "debordement"... */
#define EDITION_DES_DEBORDEMENTS_DU_RAYON_DE_VISUALISATION \
Bblock \
Test(IFGT(plus_grand_rayon_rencontre,RAYON_MAXIMAL_DE_VISUALISATION)) \
Bblock \
PRINT_ERREUR("au moins un rayon de visualisation a ete superieur au maximum autorise"); \
CAL1(Prer1("plus grand rayon = %g\n",plus_grand_rayon_rencontre)); \
CAL1(Prer1("maximum autorise = %g\n",RAYON_MAXIMAL_DE_VISUALISATION)); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
/* Edition d'un eventuel "debordement" du rayon de visualisation... */