/*************************************************************************************************************************************/
/* */
/* P R O D U I T V E C T O R I E L D E 2 x 3 I M A G E S F L O T T A N T E S : */
/* */
/* */
/* Author of '$xci/multi_06_v.01$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 20071001110151). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* 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
#include image_image_IMAGESF_EXT
#include image_image_PENT_IMAGE_EXT
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
#define imageVA1X \
IFmageA1
#define imageVA1Y \
IFmageA2
#define imageVA1Z \
IFmageA3
#define imageVA2X \
IFmageA4
#define imageVA2Y \
IFmageA5
#define imageVA2Z \
IFmageA6
#define imageVRX \
IFmageR1
#define imageVRY \
IFmageR2
#define imageVRZ \
IFmageR3
/* L'ensemble des definitions precedentes {image...} a ete introduit le 20080704110845... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T V E C T O R I E L D E 2 x 3 I M A G E S F L O T T A N T E S : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageRX),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageRY),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageRZ),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA1X),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA1Y),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA1Z),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA2X),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA2Y),NOM_PIPE));
DEFV(CHAR,INIC(POINTERc(nom_imageA2Z),NOM_PIPE));
/*..............................................................................................................................*/
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageA1=""A1=""A1R=""imageA1X=""A1X=",nom_imageA1X);
GET_ARGUMENT_C("imageA2=""A2=""A1V=""imageA1Y=""A1Y=",nom_imageA1Y);
GET_ARGUMENT_C("imageA3=""A3=""A1B=""imageA1Z=""A1Z=",nom_imageA1Z);
GET_ARGUMENT_C("imageA4=""A4=""A2R=""imageA2X=""A2X=",nom_imageA2X);
GET_ARGUMENT_C("imageA5=""A5=""A2V=""imageA2Y=""A2Y=",nom_imageA2Y);
GET_ARGUMENT_C("imageA6=""A6=""A2B=""imageA2Z=""A2Z=",nom_imageA2Z);
GET_ARGUMENT_C("imageR1=""R1=""RR=""RX=",nom_imageRX);
GET_ARGUMENT_C("imageR2=""R2=""RV=""RY=",nom_imageRY);
GET_ARGUMENT_C("imageR3=""R3=""RB=""RZ=",nom_imageRZ);
)
);
CALi(IFinitialisation(imageVRX,FZERO));
CALi(IFinitialisation(imageVRY,FZERO));
CALi(IFinitialisation(imageVRZ,FZERO));
/* Initialisation des images Resultats. */
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA1X,nom_imageA1X))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA1Y,nom_imageA1Y))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA1Z,nom_imageA1Z))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA2X,nom_imageA2X))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA2Y,nom_imageA2Y))))
Bblock
Test(PAS_D_ERREUR(CODE_ERROR(IloadF_image(imageVA2Z,nom_imageA2Z))))
Bblock
CALS(IFproduit_vectorX(imageVRX
,imageVA1X,imageVA1Y,imageVA1Z
,imageVA2X,imageVA2Y,imageVA2Z
)
);
CALS(IFproduit_vectorY(imageVRY
,imageVA1X,imageVA1Y,imageVA1Z
,imageVA2X,imageVA2Y,imageVA2Z
)
);
CALS(IFproduit_vectorZ(imageVRZ
,imageVA1X,imageVA1Y,imageVA1Z
,imageVA2X,imageVA2Y,imageVA2Z
)
);
/* Calcul du produit vectoriel: */
/* */
/* {imageVA1X,imageVA1Y,imageVA1Z}/\{imageVA2X,imageVA2Y,imageVA2Z} */
/* */
CALi(IupdateF_image(nom_imageRX,imageVRX));
CALi(IupdateF_image(nom_imageRY,imageVRY));
CALi(IupdateF_image(nom_imageRZ,imageVRZ));
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
RETU_Commande;
Eblock
ECommande