/* Mathematiques de l'informatique graphique */ /* Transformation geometrique 3D */ /* en coordonnees homogenes */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2019 */ #ifndef ____TG3D____ #define ____TG3D____ class CH3D; class TG3D { protected : /* Coordonnees */ double c[4][4]; public : /* Constructeurs */ TG3D(void); TG3D(TG3D *c); TG3D(TG3D *tg1,TG3D *tg2); /* Destructeur */ ~TG3D(void); /* Getter */ void get(double m[4][4]); /* Setter */ virtual bool set(double m[4][4]); /* Methode d'affichage texte */ void print(void); /* Methode de transformation */ /* des coordonnees homogenes ch par this */ /* ch = this * ch */ void transformation(CH3D *ch); /* Methode de composition */ /* de la transformation geometrique tg1 */ /* par la transformation geometrique tg2 */ /* avec stockage du resultat dans this */ /* this = tg1 * tg2 */ /* Verification de la conformite */ /* du resultat de la composition */ /* avec le type effectif de this */ virtual bool composition(TG3D *tg1,TG3D *tg2); private : /* Methode de composition */ /* de la transformation geometrique tg1 */ /* par la transformation geometrique tg2 */ /* avec stockage du resultat dans this */ /* this = tg1 * tg2 */ void compositionP(TG3D *tg1,TG3D *tg2); }; #endif