/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D ' U N   S E G M E N T   [ g , d ]   A   P A R T I R   D E   S O N   C E N T R E  :                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xcg/SegGenere.01$K' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 20110906083053).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

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

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   CENTRE_DU_SEGMENT                                                                                                             \
                    COORDONNEE_BARYCENTRIQUE_CENTRALE                                                                                   \
                                        /* Definition du segment initial.                                                            */
#define   LONGUEUR_DU_SEGMENT                                                                                                           \
                    FU                                                                                                                  \
                                        /* Longueur du segment.                                                                      */
#define   CALCULER_LA_BORNE_GAUCHE                                                                                                      \
                    VRAI                                                                                                                \
                                        /* Que faut-il calculer : la borne gauche ('VRAI') ou la borne droite ('FAUX') ?             */

#include  xcg/ARIT.01.I"
#include  xci/valeurs.01.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/valeurs.02.I"
_____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____
                                        /* ATTENTION : ce changement de ligne est obligatoire car sinon, le "#include" qui suit      */
                                        /* n'est pas interprete correctement (un simple saut de ligne entre les deux '#include's     */
                                        /* ci-dessus semble suffire, mais le '_____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____'    */
                                        /* est plus prudent, on ne sait jamais ce qu'il peut se passer plus tard...).                */
#include  xcg/SegGenere.01.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D ' U N   S E G M E N T   [ g , d ]   A   P A R T I R   D E   S O N   C E N T R E  :                 */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(Float,INIT(centre_du_segment,CENTRE_DU_SEGMENT));
                                        /* Definition du segment initial.                                                            */
     DEFV(Float,INIT(longueur_du_segment,LONGUEUR_DU_SEGMENT));
                                        /* Longueur du segment.                                                                      */
     DEFV(Logical,INIT(calculer_la_borne_gauche,CALCULER_LA_BORNE_GAUCHE));
                                        /* Que faut-il calculer : la borne gauche ('VRAI') ou la borne droite ('FAUX') ?             */

#include  xci/valeurs.03.I"
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_F("centre=""c=",centre_du_segment);
                         GET_ARGUMENT_F("longueur=""l=",longueur_du_segment);
                         GET_ARGUMENT_L("calculer_borne_gauche=""cbg=",calculer_la_borne_gauche);
                         GET_ARGUMENT_N("calculer_borne_droite=""cbd=",calculer_la_borne_gauche);

                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_1;
                         PROCESS_ARGUMENTS_DE_PARAMETRAGE_DE_LA_GENERATION_DE_SUITE_DE_VALEURS_2;
                         )
                    );

     EDITION_DE_LA_VALEUR_DE_L_OPERATEUR(GENERATION_D_UN_SEGMENT(centre_du_segment));
                                        /* Edition de la borne demandee :                                                            */
                                        /*                                                                                           */
                                        /*                           L                                                               */
                                        /*                  G = C - ---                                                              */
                                        /*                           2                                                               */
                                        /*                                                                                           */
                                        /* pour la "Gauche" et :                                                                     */
                                        /*                                                                                           */
                                        /*                           L                                                               */
                                        /*                  D = C + ---                                                              */
                                        /*                           2                                                               */
                                        /*                                                                                           */
                                        /* pour la "Droite"...                                                                       */
                                        /*                                                                                           */
                                        /*                                                                                           */
                                        /* ATTENTION : on notera la presence incontournable de 'GENERATION_D_UN_SEGMENT(...)'        */
                                        /* definie dans 'v $xcg/SegGenere.01$I' a cause de l'operateur 'OPC1(...)' que cette         */
                                        /* definition contient et qui ne peut figurer au premier niveau (celui d'un '$K'...).        */

     RETU_Commande;
     Eblock
ECommande



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