/* Objet graphique */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2014 */ #ifndef ____OBJET____ #define ____OBJET____ #include "Objet.h" class Position3D; class Materiel; class RayonLumineux; class Direction3D; class Objet { public : Position3D *centre; Materiel *materiel; public : Objet(void); Objet(Position3D *p,Materiel *m); Objet(Objet *c); ~Objet(void); void print(void); /* Fonction de determination de l'intersection */ /* entre un rayon lumineux et une sphere. */ /* Un int booleen en retour pour indiquer */ /* l'existence ou non d'une intersection. */ /* Un double en passage par adresse pour */ /* retourner la distance entre l'origine */ /* du rayon en l'intersection la plus proche */ /* de l'origine du rayon sur sa trajectoire. */ virtual int intersection(RayonLumineux *rl,double *d) = 0; /* Fonction de determination de l'existence */ /* d'une intersection entre un rayon lumineux */ /* et une sphere. */ virtual int intersection(RayonLumineux *rl) = 0; /* Fonction de calcul de la normale exterieur */ /* en un point d'une sphere */ virtual void calculNormale(Direction3D *d,Position3D *p) = 0; virtual void modeliseOpenGL(void) = 0; virtual Objet *clone(void) = 0; }; #endif