/*************************************************************************************************************************************/
/* */
/* D E C A L A G E C I R C U L A I R E D ' U N E I M A G E : */
/* */
/* */
/* Author of '$xci/decale_circ$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 1994??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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_BASE
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#define TRANSLATION_OX \
FZERO \
/* Translation horizontale implicite, */
#define TRANSLATION_OY \
FZERO \
/* Translation verticale implicite. */
#define DECALAGE_HORIZONTAL \
VRAI \
/* Le decalage circulaire est-il horizontal ('VRAI') ou vertical ('FAUX') ? */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E C A L A G E C I R C U L A I R E D ' U N E I M A G E : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
DEFV(Float,INIT(translation_OX,TRANSLATION_OX));
DEFV(Float,INIT(translation_OY,TRANSLATION_OY));
/* Argument de translation de la fenetre. */
DEFV(deltaF_2D,translation);
/* Translation de la fenetre. */
DEFV(Logical,INIT(decalage_horizontal,DECALAGE_HORIZONTAL));
/* Le decalage circulaire est-il horizontal ('VRAI') ou vertical ('FAUX') ? */
/*..............................................................................................................................*/
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_F("trx=""trX=",translation_OX);
GET_ARGUMENT_F("try=""trY=",translation_OY);
GET_ARGUMENT_L("horizontal=",decalage_horizontal);
)
);
CALi(Inoir(ImageR));
/* Initialisation de l'image Resultat. */
INITIALISATION_ACCROISSEMENT_2D(translation,translation_OX,translation_OY);
/* Mise en place de la translation de l'image... */
Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA,nom_imageA))))
Bblock
CALS(Idecalage_circulaire(ImageR,ImageA,ADRESSE(translation),decalage_horizontal));
/* Decalage circulaire de l'image Argument. */
CALi(Iupdate_image(nom_imageR,ImageR));
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
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.