/* Sphere */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2014 */ #ifndef ____SPHERE____ #define ____SPHERE____ #include "Objet.h" class Position3D; class Materiel; class RayonLumineux; class Direction3D; class Sphere : public Objet { public : double rayon; public : Sphere(void); Sphere(Position3D *p,double r,Materiel *m); Sphere(Sphere *c); ~Sphere(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 et l'intersection la plus proche */ /* de l'origine du rayon. */ virtual int intersection(RayonLumineux *rl,double *d); /* Fonction de determination de l'existence */ /* d'une intersection entre un rayon lumineux */ /* et une sphere. */ /* Un int booleen en retour. */ virtual int intersection(RayonLumineux *rl); /* Fonction de calcul de la normale exterieure */ /* en un point d'une sphere */ virtual void calculNormale(Direction3D *d,Position3D *p); virtual void modeliseOpenGL(void); virtual Sphere *clone(void); }; #endif