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