#include "coordonn.h"

void                       affichageTrans(union transformation *t) ;
void                       trans_identite(union transformation *t) ;
union transformation       *nouvelle_trans(void) ;
union transformation       *nouvelle_trans_identite(void) ;
void                       liberation_trans(union transformation *t) ;
union transformation       *trans_zoom(double r) ;
union transformation       *trans_scale(double x,double y,double z) ;
union transformation       *trans_affinite_y(double r) ;
union transformation       *trans_affinite_x(double r) ;
union transformation       *trans_affinite_z(double r) ;
union transformation       *trans_affinite(struct affinite *af) ;
union transformation       *trans_rotation(double a,double x,double y,double z) ;
union transformation       *trans_rotation_x(double alpha) ;
union transformation       *trans_rotation_y(double alpha) ;
union transformation       *trans_rotation_z(double alpha) ;
union transformation       *transRotationx(double alpha) ;
union transformation       *transRotationy(double alpha) ;
union transformation       *transRotationz(double alpha) ;
union transformation       *trans_translation(double tx,double ty,double tz) ;
union transformation       *multiplication_trans(union transformation *a,union transformation *b) ;
void                       multiplicationTrans(union transformation *a,union transformation *b,union transformation *r) ;
union transformation       *trans_orientation(struct orientation *ori) ;
union transformation       *trans_orientation_inverse(struct orientation *ori) ;
union transformation       *determine_trans_point_de_vue(struct point_de_vue *pv ) ;
union transformation       *trans_point_de_vue_inverse(struct point_de_vue *pv ) ;
void                       multiplication_trans_vect(union transformation *a,union coord_3D_homogenes *c) ;
void                       multiplication_trans_dir(union transformation *a,union coord_3D_homogenes *c) ;
void                       multiplication_trans_coordonnees(union transformation *a,union coord_3D_homogenes *c,int n) ;
void                       init_coord_homogenes(union coord_3D_homogenes *c) ;
unsigned char              egalite_trans(union transformation *t1,union transformation *t2) ;
void                       rotation_equivalente_2_rotation(struct orientation *o1,struct orientation *o2,struct orientation *o) ;
void                       trans_orient_directe_et_inverse(struct orientation *ori,union transformation **t,union transformation **ti) ;
void                       mult_trans_vect(union transformation *a,union coord_3D_hmg *c) ;
void                       mult_trans_coordonnees(union transformation *a,union coord_3D_hmg *c,int n) ;
